Spring Boot框架
关于Spring Boot框架
Spring Boot是一个基于Spring框架在的Maven项目,每个自行创建的Spring Boot项目都使用了官方的Spring Boot项目作为父级项目!
Spring Boot是一个基于“约定大于配置”思想的、自动完成了许多配置的框架。
Spring Boot框架的基础依赖项是spring-boot-starter
,而其它以spring-boot-starter
为Artifact前缀的依赖项都包含了它。
关于基础依赖项
在spring-boot-starter
中,包含的典型依赖项有:
- Spring框架的基础依赖项:
spring-context
- 日志
所以,任何一个Spring Boot项目,都可以使用Spring框架的特性,并且可以使用日志。
并且,在Spring Boot项目中,默认在src/main/resource
下就有application.properties
文件,是项目中默认自动读取的配置文件。
关于Profile配置
关于application.properties
配置,在不同的环境下,某些配置的值应该是不同的,例如连接数据库的URL、用户名、密码等,所以,应该针对不同的环境,使用不同的配置,即Profile配置。
通常,关于Profile配置,至少分为3类:
- 开发环境下的配置
- 测试环境下的配置
- 生产环境下的配置
甚至,同样是开发环境下,可能因为团队协作开发,各开发人员也使用了不同的配置。
使用Profile配置的方式是:
- 自行创建
application-xxx.properties
文件,文件名中的xxx
是自定义的名称,通常是dev
、test
、prod
等,把各个环境下不同的配置编写在此文件中 - 在
application.properties
中使用spring.profiles.active
属性激活某个Profile配置,此属性的值就是application-xxx.properties
文件中的xxx
部分
当使用Profile配置后,这些配置文件默认并不会直接读取并应用,需要被激活才会被读取并应用!
在application.properties
中的配置是始终被读取并应用的!
关于YAML配置
YAML配置是以.yml
作为扩展名的配置文件。
Spring框架本身并不支持读取这类文件,需要额外添加依赖项,在Spring Boot项目中,默认已经集成必要的依赖项,可以直接读取这类文件。
在Spring Boot项目中,可以将.properties
的配置完全转移到.yml
文件中,并且,同样支持Profile配置,即可以同时存在application.yml
、application-dev.yml
等。
关于YAML配置,其语法特征是:
- 原有的例如
spring.datasource.url
这类属性,将根据小数点拆分为2行,每一行使用冒号表示结束,从下一行开始,缩进2个空格(不可以是TAB,但是,IntelliJ IDEA在编辑YAML时,按下的TAB会自动转换成2个空格),当属性名写完后,在冒号右侧添加1个空格,再填写属性值
例如:
# Spring配置
spring:
# 数据源配置
datasource:
# 连接数据库的URL
url: jdbc:mysql://localhost:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
# 连接数据库的用户名
username: root
# 连接数据库的密码
password: root