在SpringBoot项目中,我们可能会需要根据配置类型将配置数据放到不同的配置文件中模块化配置,例如将数据库配置放到db.properties,redis配置放到redis.properties,es配置放到es.properties,方便维护,在 Spring Boot 2.4 及以上版本中,引入了 spring.config.import 属性,用于导入额外的配置文件或配置类。
你可以在application.properties或application.yml文件中使用spring.config.import属性来导入其他配置文件。例如,如果你有一个名为myconfig.properties的额外配置文件,你可以这样导入它:
spring:
config:
import: "optional:classpath:myconfig.properties"
optional: 关键字表示如果配置服务器不可用,Spring Boot应用仍然可以启动,但不会加载配置服务器中的配置。如果你想去除这个可选性,可以去掉 optional:。
spring:
config:
import: "classpath:myconfig.properties"
注意事项
优先级:通过spring.config.import导入的配置文件的优先级低于应用自身的application.properties或application.yml中的配置。这意味着本地配置将覆盖通过spring.config.import导入的配置。
环境变量和命令行参数:你也可以使用环境变量或命令行参数来指定配置文件的位置或配置服务器的URI。例如,你可以设置环境变量SPRING_CONFIG_IMPORT=classpath:myconfig.properties。
多个导入:你可以通过逗号分隔符来导入多个配置文件或配置服务器,例如:
spring:
config:
import: "classpath:myconfig.properties,optional:myconfig2.properties"
还有另一种方式,使用spring.profiles.include导入,例如需要导入application-database.properties配置文件,可以进行如下配置:
spring:
profiles:
include: database
1050

被折叠的 条评论
为什么被折叠?



