springboot中java配置文件特定的自定义属性文件

lnxxn5zx  于 2021-07-12  发布在  Java
关注(0)|答案(5)|浏览(424)

想看看springboot是否提供了使用配置文件的帮助 application.properties 文件。例如:my-custom.properties文件,可以是特定于配置文件的,例如: my-custom-dev.properties 对于开发人员配置文件 my-custom-uat.properties 用于uat配置文件
edit:问题是,我有一个普通的应用程序{env}.property文件,除此之外,还有其他符合其数据内容的属性文件(例如:db-specific properties for logging,我想存储在'db-log.properties中,如何使其他文件对概要文件敏感?

zlwx9yxi

zlwx9yxi1#

除了application.properties文件,
可以使用以下约定定义特定于概要文件的属性:application-{profile}.properties。
环境有一组默认配置文件(默认情况下,[默认]),如果未设置活动配置文件,则使用这些配置文件(换句话说,如果未显式激活任何配置文件,则加载application-default.properties中的属性)
要运行多个配置文件:
1.应用产品特性
2.应用-开发属性

mvn spring-boot:run -Dspring-boot.run.profiles=dev,prod

3.application.properties(默认配置文件)

mvn spring-boot:run

4.带有自定义属性文件的命令行参数
spring.config.name-设置配置文件名(逗号分隔的值)spring.config.location-设置spring boot将在其中找到外部化配置文件的位置。

java -jar hello-world.jar --spring.config.name=application,conf --spring.config.location=classpath:/external/properties/,classpath:/com/learn/../../

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-具有外部配置文件特定属性

kiz8lqtg

kiz8lqtg2#

除此之外 application.properties 文件,可以定义为 application-{profile}.properties 随你的便。选择的文件在启动时根据您选择的配置文件确定。

nnt7mjpx

nnt7mjpx3#

对。当然。你只需要在开始时提供你想要的个人资料。
如:

-Dspring.profiles.active=prod

将使用application-prod.properties

-Dspring.profiles.active=customer

将使用application-custom.properties

wd2eg0qa

wd2eg0qa4#

spring使用的默认约定是application-.properties。因此,如果profile是dev,那么它将查找application-dev.properties
您还可以使用bootstrap.properties文件并指定spring.application.name=my custom
在这种情况下,spring将查找my-custom.properties文件,当然您可以将它与profile dev、uat一起使用,因此属性文件名应该是my-custom-dev.properties。
此外,您还可以将配置文件作为命令行参数传递-dspring.config.location=文件路径。

z9smfwbn

z9smfwbn5#

您可以将其与活动配置文件一起使用

@Configuration
@PropertySource("classpath:my-custom-${spring.profiles.active}.properties")

相关问题