use*_*483 63 spring spring-boot
在我的Spring Boot应用程序中,我想创建特定于环境的属性文件.战争中我的应用程序的打包类型,我在嵌入式tomcat中执行它.我使用sts并从sts本身执行main.
在上面的例子中,env-value的值为local/devl/test/prod
在哪里设置env值文件?对于local,我可以通过sts将其设置为jvm参数
谁在Spring Boot应用程序中读取application.properties.
如何加载特定于环境的属性文件?对于ex - 如果我在环境特定属性文件中设置数据库uid,pwd,schema等,那么数据源是否能够理解其中的属性?
我可以同时使用application.properties和application-local.properties文件吗?
M. *_*num 131
只需添加application-[profile].properties文件并指定要使用该spring.profiles.active属性使用的配置文件.
-Dspring.profiles.active=local
Run Code Online (Sandbox Code Playgroud)
这将加载application.properties和application-local.properties后者的第一个覆盖属性.
Tze*_*zen 20
是的你可以.由于您使用的是spring,请查看@PropertySource anotation.
用你的配置来配置你的配置
@PropertySource("application-${spring.profiles.active}.properties")
Run Code Online (Sandbox Code Playgroud)
您可以随意调用它,如果您愿意,也可以添加多个属性文件.如果您有更多属于所有环境的集合和/或默认值(可以使用@PropertySource {...,...,...}编写),那就太好了.
@PropertySources({
@PropertySource("application-${spring.profiles.active}.properties"),
@PropertySource("my-special-${spring.profiles.active}.properties"),
@PropertySource("overridden.properties")})
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用环境启动应用程序
-Dspring.active.profiles=test
Run Code Online (Sandbox Code Playgroud)
在此示例中,name将替换为application-test-properties等.
小智 7
我们可以这样:
在application.yml中:
spring:
profiles:
active: test //modify here to switch between environments
include: application-${spring.profiles.active}.yml
Run Code Online (Sandbox Code Playgroud)
在application-test.yml中:
server:
port: 5000
Run Code Online (Sandbox Code Playgroud)
并在application-local.yml中:
server:
address: 0.0.0.0
port: 8080
Run Code Online (Sandbox Code Playgroud)
然后Spring Boot将按照我们的意愿启动我们的应用程序。
| 归档时间: |
|
| 查看次数: |
81997 次 |
| 最近记录: |