DAY06_SpringBoot—入门&properties/YML文件&lombok插件及使用

目录

  • [1 SpringBoot](#1 SpringBoot)
    • [1.1 SpringBoot介绍](#1.1 SpringBoot介绍)
    • [1.2 SpringBoot入门案例](#1.2 SpringBoot入门案例)
      • [1.2.1 安装SpringBoot插件](#1.2.1 安装SpringBoot插件)
      • [1.2.2 创建SpringBoot项目](#1.2.2 创建SpringBoot项目)
    • [1.3 关于SpringBoot项目说明](#1.3 关于SpringBoot项目说明)
      • [1.3.1 关于POM.xml文件说明](#1.3.1 关于POM.xml文件说明)
      • [1.3.2 依赖配置项](#1.3.2 依赖配置项)
      • [1.3.3 build标签](#1.3.3 build标签)
    • [1.4 SpringBoot Maven操作](#1.4 SpringBoot Maven操作)
      • [1.4.1 项目打包](#1.4.1 项目打包)
      • [1.4.2 java命令运行项目](#1.4.2 java命令运行项目)
    • [1.5 关于jar包依赖传递性](#1.5 关于jar包依赖传递性)
      • [1.5.1 问题描述](#1.5.1 问题描述)
      • [1.5.2 maven jar包依赖的传递性](#1.5.2 maven jar包依赖的传递性)
      • [1.5.3 maven 如何保证jar包依赖安全性](#1.5.3 maven 如何保证jar包依赖安全性)
  • [2 SpringBoot学习](#2 SpringBoot学习)
    • [2.1 配置文件说明](#2.1 配置文件说明)
      • [2.1.1 关于properties文件说明](#2.1.1 关于properties文件说明)
      • [2.1.2 关于yml文件说明](#2.1.2 关于yml文件说明)
    • [2.2 @Value属性赋值](#2.2 @Value属性赋值)
      • [2.2.1 springBoot为属性赋值](#2.2.1 springBoot为属性赋值)
      • [2.2.2 编辑YML配置文件](#2.2.2 编辑YML配置文件)
      • [2.2.3 为Dept对象赋值](#2.2.3 为Dept对象赋值)
      • [2.2.4 编辑springBoot测试类](#2.2.4 编辑springBoot测试类)
      • [注意事项: 以后写代码都必须写到主启动类的同包及子包中](#注意事项: 以后写代码都必须写到主启动类的同包及子包中)
    • [2.3 利用properties文件为属性赋值](#2.3 利用properties文件为属性赋值)
      • [2.3.1 编辑pro文件](#2.3.1 编辑pro文件)
      • [2.3.2 实现自动赋值](#2.3.2 实现自动赋值)
  • [3 lombok插件](#3 lombok插件)
    • [3.1 安装插件](#3.1 安装插件)
    • [3.2 添加jar包](#3.2 添加jar包)
    • [3.3 lombok注解使用](#3.3 lombok注解使用)

1 SpringBoot

1.1 SpringBoot介绍

Spring Boot 是由Pivotal团队提供的全新框架 ,其设计目的是用来简化Spring应用的 初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

SpringBoot的推出 让程序员更加专注于业务处理, SpringBoot是学习微服务框架基石

Spring 和SpringBoot关系 :SpringBoot是Spring的工具API框架

1.2 SpringBoot入门案例

1.2.1 安装SpringBoot插件

  • IDEA破解版本,自带SpringBoot插件 所以无需安装
  • IDEA社区版本.需要手动安装一个SpringBoot插件

1.2.2 创建SpringBoot项目

  1. 选择SpringInitializr(初始化)
  1. 勾选依赖项
  1. 创建项目后如果发现是灰色的点击Add as Maven Project(不是每个人都这样)
  1. 执行main方法检查运行是否正常

如图所示表示程序正常.

1.3 关于SpringBoot项目说明

1.3.1 关于POM.xml文件说明

xml 复制代码
<!--parent标签  父级工程
  	SpringBoot将现有主流的框架都进行了整合,
   	在内部完成了jar包的依赖的配置.如果用户需要,则只添加某些核心包
   	那么所有的依赖都会按照规则自动的下载
-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.2.1</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

1.3.2 依赖配置项

xml 复制代码
<!--Springboot通过启动项的方法的 进行jar包文件的加载.
	同时这些功能中的配置项 SpringBoot有些也会自动的完成.
	无特殊的要求 无需手动的配置.
	开箱即用的思想!!!!
-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>

1.3.3 build标签

xml 复制代码
<!--关于build标签说明
	1.build标签它是maven工程的要求.
	2.作用: 完成项目的打包/发布等一系列的功能.
	3.该标签的使用是SpringBoot必须的,如果没有该标签则项目无法使用jar包运行
-->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

1.4 SpringBoot Maven操作

1.4.1 项目打包

1.4.2 java命令运行项目

  1. 将jar包文件放置到指定的目录下
  1. dos命令

    1)cd 切换目录

    2)dir 查看当前目录结构

    3)cls 清屏

  2. java命令


  1. 项目关闭:
    1)直接将dos窗口关闭
    2)ctrl + c 万能的关闭指令

1.5 关于jar包依赖传递性

1.5.1 问题描述

当引入webjar包时, 其他jar包文件如何依赖的?

1.5.2 maven jar包依赖的传递性

以juint举例

  1. 当maven解析pom.xml文件时,会根据maven坐标查找指定的jar包文件
  2. 当jar包加载完成之后,由于该项目也是maven工程,所以maven工具会解析该项目的pom.xml文件,根据POM.xml文件 再次加载依赖包 直到所有的jar包依赖加载完成

1.5.3 maven 如何保证jar包依赖安全性

算法: SHA1

SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计 ,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要 的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数

  • 关于hash常见知识问题:
    • 常见的hash有多少位:
      • 8位16进制数
    • 有多少种排列组合
      • 2^32
    • 如果key相同,hash值也必然相同
    • 1个数据1kb 1个数据1mb ,hash计算一样快
  • 核心原理说明:
    • 判断传递前后的sha1算法是否相同
      • 如果相同则标识传输正常,
      • 如果不同,则文件有问题

2 SpringBoot学习

2.1 配置文件说明

2.1.1 关于properties文件说明

虽然pro文件是SpringBoot默认配置文件.但是其中编码格式比较繁琐,不便于查看.所以在项目中一般使用YML文件

2.1.2 关于yml文件说明

2.2 @Value属性赋值

2.2.1 springBoot为属性赋值

在YML配置文件中编辑key=value结构,之后利用注解为属性赋值.

2.2.2 编辑YML配置文件

yml 复制代码
#YML文件语法
## 1.YML数据结构k-v结构
## 2.k与v 需要使用 :"空格" 连接
## 3.YMl配置文件有父子级关系 所以注意缩进项的位置
server:
  port: 8090    #配置端口
  servlet:      #web项目发布路径
    context-path: /  #/表示根目录

#定义dept属性值 YML文件默认支持UTF-8
dept:
  id: 100
  name: 财务部

2.2.3 为Dept对象赋值

java 复制代码
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component //将对象交给Spring容器管理
public class Dept {
    //spel表达式
    @Value("${dept.id}")
    private Integer id;
    @Value("${dept.name}")
    private String name;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Dept{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}

2.2.4 编辑springBoot测试类

注意事项: 以后写代码都必须写到主启动类的同包及子包中

java 复制代码
import com.jt.pojo.Dept;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

//在执行测试方法时自动的启动Spring容器
//注意事项:以后写代码都必须写到主启动类的同包及子包中
@SpringBootTest
class SpringbootDemo1ApplicationTests {

	//当容器启动成功之后,SpringBoot负责将对象进行注入
	@Autowired
	private Dept dept;

	@Test
	void contextLoads() {
		System.out.println(dept);
	}
}

2.3 利用properties文件为属性赋值

2.3.1 编辑pro文件

2.3.2 实现自动赋值

3 lombok插件

3.1 安装插件

3.2 添加jar包

xml 复制代码
<!--引入插件lombok 自动的set/get/构造方法插件  -->
<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
</dependency>

3.3 lombok注解使用

相关推荐
安全系统学习几秒前
【网络安全】Qt免杀样本分析
java·网络·安全·web安全·系统安全
java干货19 分钟前
虚拟线程与消息队列:Spring Boot 3.5 中异步架构的演进与选择
spring boot·后端·架构
一只叫煤球的猫24 分钟前
MySQL 8.0 SQL优化黑科技,面试官都不一定知道!
后端·sql·mysql
SoFlu软件机器人26 分钟前
智能生成完整 Java 后端架构,告别手动编写 ControllerServiceDao
java·开发语言·架构
写bug写bug1 小时前
如何正确地对接口进行防御式编程
java·后端·代码规范
Cyanto1 小时前
Java并发编程面试题
java·开发语言·面试
不超限1 小时前
Asp.net core 使用EntityFrame Work
后端·asp.net
在未来等你2 小时前
互联网大厂Java求职面试:AI大模型与云原生技术的深度融合
java·云原生·kubernetes·生成式ai·向量数据库·ai大模型·面试场景
豌豆花下猫2 小时前
Python 潮流周刊#105:Dify突破10万星、2025全栈开发的最佳实践
后端·python·ai