SpringBootIntegration: SpringBootIntegration
进行Spring Boot配置文件部署时,发出警告Spring Boot Configuration Annotation Processor not configured,但是不影响运行。
配置注解执行器配置完成后,当执行类中已经定义了对象和该对象的字段后,在配置文件中对该类赋值时,便会非常方便的弹出提示信息。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <scope>provided</scope> <optional>true</optional> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
格式
普通:name: haohao
配置对象数据 或 Map
person:
name: haohao
age: 31
addr: beijing
person: {name: haohao,age: 31,addr: beijing}
配置数组(List、Set)数据
city: - beijing - tianjin - shanghai - chongqing
#或者
city: [beijing,tianjin,shanghai,chongqing]
集合中的元素是对象形式
student: - name: zhangsan age: 18 score: 100 - name: lisi age: 28 score: 88 - name: wangwu age: 38 score: 90
双引号
不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
name: "zhangsan \n lisi":输出;zhangsan 换行 lisi
单引号
会转义特殊字符,特殊字符最终只是一个普通的字符串数据
name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi
占位符
获取之前配置的值,如果没有可以是用:指定默认值
${system.ip} 如果不存在,则使用表达式本身
${system.ip:ddd} 如果不存在,则使用ddd
system.ip=http://192.168.31.206:8888/metadataserver/v1
system.login=${system.ip}/pro/proUserController/getToken
随机值
roncoo.secret=${random.value} roncoo.number=${random.int} roncoo.bignumber=${random.long} roncoo.number.less.than.ten=${random.int(10)} roncoo.number.in.range=${random.int[1024,65536]}
顺序
优先级由高到底,互补配置;
注意外部 同名的会覆盖内部
路径
File:指的当前项目的路径 当前jar路径
–file:./config/
–file:./
类:
–classpath:/config/
–classpath:/
文件
bootstrap.properties>bootstrap.yaml>application.properties>application.yaml
外部配置加载顺序
1. 命令行参数 所有的配置都可以在命令行上进行指定 多个配置用空格分开 --
2. 来自java:comp/env的JNDI属性
3. Java系统属性(System.getProperties())
4. 操作系统环境变量
5. RandomValuePropertySource配置的random.*属性值由jar包外向jar包内进行寻找;优先加载带profile
6. jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
7. jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件再来加载不带profile
8. jar包外部的application.properties或application.yml(不带spring.profile)配置文件
9. jar包内部的application.properties或application.yml(不带spring.profile)配置文件
10. @Configuration注解类上的@PropertySource
11. 通过SpringApplication.setDefaultProperties指定的默认属性
spring.config.location
启动项目的时候来指定配置文件的新位置
指定配置文件和默认加载的这些配置文件共同起作用形成互补配置
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar
--spring.config.location=G:/application.properties