application.properties内容如下:

server.port=8709
spring.datasource.url=jdbc:mysql://xx.xx.xx.xx/test
spring.datasource.username=root
spring.datasource.password=xxxx
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
myName=hi
spring.config.import=classpath:/test.properties

resources目录下的test.properties内容如下:

myName=amadeus

则controller中可以获取到myName这个配置值。
被导入的配置文件中的值优先级高于application.properties.
可以一次引入多个配置文件,逗号分隔,后引入的优先级高于先引入的

spring.config.import=classpath:/test.properties,classpath:/test2.properties

test2.properties中的属性优先级高于test.properties

同时,profile机制在import时同样起作用,例如application.properties配置了:

spring.profiles.active=prod
myName=hi
spring.config.import=classpath:/test.properties,classpath:/test2.properties

则resources目录下的test.properties,test2.properties,test-product.properties,test2-product.properties中的配置都会起作用,其中带profile的优先级更高

如果导入的文件扩展名不是.properties或.yml,则需要显式指定文件类型,否则报错

spring.config.import=classpath:/test3.txt[.properties]

其中test3.txt中为properties格式组织的配置信息

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐