spring boot大大减少了配置,但是还是有一个配置:
可以使用application.yml 或者application.properties
*.yml :
YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。
以冒号+空格标识数据层级关系:
例如:*.properties中 server.port=8080 在yaml文件中:
server:
port: 8080
yaml可以为对象注入值:
User类添加注解:
@ConfigurationProperties(prefix = "user")
user:
userId: 1234
userName: wangzhipan
birthday: 1993/04/10
email: wang@qq.com
更多数据类型注入:
server:
port: 8080
###对象
user:
userId: 1234
userName: wangzhipan
birthday: 1993/04/10
email: wang@qq.com
## list
list:
- 我
- 是
- list
- 元素
- ##map
map: {k: v,k1: v1}
##数组
arr:
- 1
- 2
- 3
- 4
properties注入bean:
1.注解引入静态资源
@PropertySource("classpath:application.properties")
2.@Value() 注入
spring boot 加载配置顺序:
项目根目录/config/
项目根目录/
classpath:/config
classpath:
现在在4个位置分别放一个application.yml文件进行测试:
发现端口号生效顺序时 8081 8082 8083 8084
激活配置文件
spring.profiles.active 激活文件
在yml文件中也可以分割出来多个子文件用---
例如下面配置:
server:
port: 8081
###激活dev,那么生效的端口时8085
spring:
profiles:
active: dev
### ---把同一个文件分割成子文件,下面就是不同配置文件了
---
server:
port: 8085
spring:
profiles: dev