一:Spring Boot
Spring Boot是在Spring的基础上面搭设的框架,目的是为了简化Spring项目的搭设和开发过程
社区版Idea需要安装 Spring Assistant 插件,专业版不需要。
专业版 Idea 来创建 Spring Boot项目的基本流程
配置国内源以及查看本地 jar 包。
删除 Spring Boot 中无用的文件
启动 Spring Boot
二:Spring Boot 配置文件
Spring Boot 配置文件格式:
- ×××.properties(默认配置文件的格式)
- ×××.yml(新版本,改良版的配置文件格式)
注意:properties 格式的配置文件优先级高于 yml。建议一个项目中只采取一种格式的配置文件即可。
Spring Boot 中配置文件有两个重要的功能
- 为系统框架提供数据支持(系统级别)
- 为程序猿自己去用(用户级别)
Spring Boot 读取配置的方法一:@Value 注解读取单个配置项
@Value("${cctalk.token}") // 读取配置文件
private String cctalkToken;
properiters 缺点分析
存在冗余配置项,对于一个对象的多个参数设置比较麻烦,需要从开始写起一直写到结束为止。
yml语法
key: value【注意要有空格】
Spring Boot 读取配置的方法一:@Value 注解读取单个配置项
读取配置文件方式二:@ConfigurationProperties 读取一个实体类
- 将配置文件中的一组对象映射到某个类上
@ConfigurationProperties("student")
- 使用注入的方式在其他类(这里是启动类)中注入 student 即可
@Autowired
private Student student;
配置集合
# 设置一个 List 集合
mylist1:
colors:
- RED
- GREEN
- BLACK
# 行内写法
mylist2: {
colors: [RED,GREEN,BLACK]}
集合的读取和对象一样,也是使用 @ConfigurationProperties来读取的。
properties VS yml
- yml 语法更简洁
- yml 跨语言的通用性更好,它不止支持 java 语言还支持 golang 和 python
- yml 支持更多的数据类型
- yml 格式的配置文件在写的时候更容易出错,而 properties 它虽然写法比较传统和复杂,但它不容易出错
还有其他三种读取配置文件的方法
- 使用 Environment 读取配置文件
- 使用 @PropertySource 读取配置文件
解决乱码的问题:@PropertySource(value=“dev.properties”,encoding=“utf-8”)【默认只支持properties】 - 使用原声方式读取配置文件
三:SpringBoot 日志文件
开发者自定义打印日志的实现步骤:
- 在程序中得到日志对象
private static Logger logger = LoggerFactory.getLogger(UserController.class);
- 使用日志对象的相关语法输出要打印的内容
logger.info("!!!!!!执行了 say Hi 方法,得到了参数 name:"+name);
常见日志框架
SLF4J日志级别
- trace:微量,少许的意思,级别最低
- info:普通的打印信息
- debug:需要调试时候的关键信息打印
- warn:警告,不影响使用,但需要注意的问题
- error:错误信息,级别较高的错误日志信息
- fatal:致命的,因为代码异常导致程序退出执行的事件
在配置文件中设置过滤日志级别
logging:
level:
root: info
会将日志级别比info级别高得日志输出。
日志持久化
日志持久化有两种实现方式:
- 设置日志的保存路径:spring boot会按照自己的格式生成日志文件到相应的目录
- 设置日志的保存文件名:spring boot 会按照你设置的文件来保存日志
由于使用 SLF4J 想要获取当前类得日志文件,在每一个类中都需要添加这样得一行代码。这种方法特别繁琐。
为了使用更简单得方式获取日志类并完整日志得打印功能。使用 lombok 注解实现。
- 添加 lombok 框架
- @slf4j 注解得到日志对象
这里需要在IDEA安装一个叫 EditStarters 插件,这个插件得作用是在 springboot 中快速添加框架依赖的。安装成功之后重启 IDEA。
安装完插件之后,在pom.xml中右键 Generate 添加依赖。
lombok原理解释
lombok还有 Setter 和 Getter 的作用