SpringBoot使用一个全局的配置文件,配置文件名是固定的,支持两种格式
1、两种格式(properties,yml)
application.properties
application.yml
由此可以看出 application.yml 文件格式的内容更为简洁,清晰,目前大部分都是 YML 格式,我们主要讲 YML 格式的配置文件
注意:
1、以空格的缩进来控制层级关系,左对齐的一列数据,属于同一个层级
2、、yml 格式:k: v,之间的空格必须有
3、k 和 v 对大小写敏感
4、k: v,字符串默认不用加上单引号或者双引号
2、属性: 值 的两种写法
# k: v 方式
user:
name: jaychou
age: 35
# 行内写法
user: {name: jaychou,age: 35}
3、数组(List、Set)
# 用- 值表示数组中的一个元素
page:
- page1
- page2
# 行内写法
page: {page1,page2}
4、从配置文件中取值
1、手动取值
ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);
context.getEnvironment().getProperty("server.port");
2、@Value("${key}") 取值
@Value("${alipay.oauth.appid}")
public String APPID;
3、配置文件中${key}引用配置信息
user:
name: jaychou
server:
name: this is ${user.name}
5、多个配置文件
我们在实际的开发过程中,需要不断调试,测试,上传到云服务器中,数据库配置,redis配置,nginx配置等等,需要在云服务器和本地服务器中来回切换,我们可以创建多个配置文件,在本地开发的时候,切换为本地配置文件,上传云服务器之前切换为云服务器配置文件,这样避免了配置信息修改错误
我们只需要在 application.yml 配置文件中配置:
spring:
# 配置文件,多个用逗号隔开
profiles:
active: oauth,db-local
db-local,为本地配置文件,本地开发测试用
当我们上传云服务器时,只需要将配置信息修改为 db-cloud
spring:
# 配置文件,多个用逗号隔开
profiles:
active: oauth,db-cloud