SpringBoot + application.properties
1.多个同名配置文件 application.properties 读取顺序
- config/application.properties(项目根目录中config目录下)
- application.properties(项目根目录下)
- resources/config/application.properties(项目resources目录中config目录下)
- resources/application.properties(项目的resources目录下)
优先级由高到底,高优先级的配置会覆盖低优先级的配置。
Spring Boot 会从这四个位置全部加载主配置文件,就算高优先级的目录下已经有了配置文件,低优先级的目录下的配置文件也会加载,也就是互补配置
2.运行war/jar包时指定配置文件位置
默认加载和war包同级目录的application.properties
nohup java -jar /home/testweb.war
指定其它位置的配置文件
nohup java -jar -Dspring.config.location=/home/application.properties /home/testweb.war
3.多个环境多个配置文件application.properties
1.创建默认的配置文件 和 不同环境配置文件application
- application.properties
- application-dev.properties
- application-uat.properties
- application-prd.properties
2.在默认配置文件application.properties中指定运行环境
spring.profiles.active=dev
3.运行时指定配置文件
3.1.在eclipse等编译器中运行时,会加载application.properties中指定的运行环境即dev
3.2 通过spring-boot的maven插件spring-boot-maven-plugin方式启动
mvn spring-boot:run -Dspring-boot.run.profiles=uat
3.3.通过可执行jar/war包方式启动
打包
mvn clean package
运行 jar 的时候指定 prd
java -jar xxx.jar --spring.profiles.active=prd
如果运行时没有指定,就默认用application.properties中指定的运行环境dev
java -jar xxx.jar
4.@Profile注解
@Profile注解可以用在方法或者类上,用来指定哪个环境时执行