一、三种读取配置文件方式:
-
@Value方式
@Value("${name}") private String name; @Value("${person.name}") private String name; @Value("${address[0]}") private String address0;
-
Environment
@Autwrite private Environment env; String name = env.getProperty("person.name");
-
将配置文件的值于自定义类进行绑定
//创建一个类 @Data //使用lombok插件 @Component //将普通类标注为bean @ConfigurationProperties(prefix="person") //将外部配置文件引到对应属性上,person为配置参数的前缀 public class AppConfig { private String name; private String age; }
二、profiles 配置文件的选择
-
使用properties方式配置文件选择
spring.profiles.active=pro
- 使用yml方式
server: port: 8081 spring: profiles: dev --- #分隔符,分割不同配置 server: port: 8082 spring: profiles: test --- server: port: 8083 spring: profiles: pro --- #选定以上那个配置 spring: profiles: active: dev
- 项目先打包成jar包
然后在文件目录启动命令java -jar .\springboot-yml-0.0.1-SNAPSHOT.jar进行启动
使用java -jar .\springboot-yml-0.0.1-SNAPSHOT.jar --spring.profiles.active=test命令,更改启动的配置文件
三、内部配置加载顺序
server:
port: 8081
servlet:
context-path: /hello #配置项目访问路径
四、外部文件配置
官方说明:Core Features
- 文件不跟jar在同一目录
#java -jar 项目名.jar --spring.config.location=配置文件的绝对路径.properties/yml java -jar ./lspringboot-config-0.0.1-SNAPSHOT.jar --spring.config.1ocation=e:l/ application.properties
- 文件和jar包在同一目录
#java -jar 项目名.jar java -jar ./lspringboot-config-0.0.1-SNAPSHOT.jar