配置文件的分类
Springboot是基于约定的,所以很多配置项都有默认值,但如果想使用自己的配置替换默认配置的话,可以使用application.properties(在resources目录下)或者application.yml(yaml是一样的)进行配置
properties:
server.port=8080(改变默认端口号)
yml:
server:port:8080
YAML基本语法:数据前面都需要有一个空格
1.大小写敏感
2.数据值前边必须有空格,作为分隔符
3.使用缩进表示层级关系
4.#表示注释
server:
port: 8080
address:127.0.0.1
YAML数据格式:
1.对象:键值对的集合
person:
name: zhangsan
2.数组:一组按次序排列的值
adress:
- beijing
- shanghai
3.常量
msg1: ‘hello \n world’ #单引号会忽略转义字符
msg2: ‘hello \n world’ #双引号会识别转义字符
4.常数引用
name: lisi
person:
name: ${name} #引用上边定义的name值
读取配置内容:
1.@Value
#下方定义的变量接受上方的值
@Value("${name}")
private String name;
@Value("${person.name}")
private String name2;
@Value("${person.age}")
private int age;
2.Enviroment
@Autowired
private Environment env;
env.getProperty(“person.name”)
3.@ConfigurationProperties
profile:进行动态配置切换
1.profile配置方式
多profile文件方式
yml多文档方式
(1).
在resources目录下新建的application-dev.properties用来设置开发环境的配置,application-pro.properties用来设置生产环境的配置,application-test.properties用来设置测试环境的配置
(2).
在resources目录下新建application.yml文件,用—分割内容
2.profile激活方式
配置文件
虚拟机参数
命令行参数
虚拟机参数
命令行参数
java -jar 后面跟jar包 命令行参数 可以在命令行运行java程序
内部配置的加载顺序:
Springboot程序启动时,会从以下位置加载配置文件
1.file:./config/:当前项目下的/config目录下
2.file:…/ :当前项目的根目录
3.classpath:/config/:classpath的/config目录
4.classpath:/:classpath的根目录
加载顺序为上文的排列顺序,搞优先级配置的属性会失效