在我的Spring Boot应用程序中,我想创建特定于环境的属性文件 . 战争中我的应用程序的打包类型,我在嵌入式tomcat中执行它 . 我使用sts并从sts本身执行main .
- 我可以拥有像应用程序一样的特定于环境的属性文件 - $ .properties?
在上面的例子中,env-value的值为local / devl / test / prod
-
在哪里设置env-value文件?对于local,我可以通过sts将其设置为jvm参数
-
谁在Spring Boot应用程序中读取application.properties .
-
如何加载特定于环境的属性文件?对于ex - 如果我在环境特定属性文件中设置数据库uid,pwd,schema等,那么数据源是否能够理解其中的属性?
-
我可以同时使用application.properties和application-local.properties文件吗?
3 回答
对于基于profile的属性,Spring Boot已经has support .
只需添加
application-[profile].properties
文件并使用spring.profiles.active
属性指定要使用的配置文件 .这将加载
application.properties
和application-local.properties
,后者覆盖第一个属性 .是的你可以 . 由于您使用的是spring,请查看@PropertySource anotation .
用你的配置来平滑你的配置
您可以随意调用它,如果您愿意,也可以添加多个属性文件 . 如果您有更多属于所有环境的集合和/或默认值(可以使用@PropertySource 编写),那就太好了 .
然后,您可以使用环境启动应用程序
在此示例中,name将替换为application-test-properties等 .
我们可以这样做:
在application.yml中:
在application-test.yml中:
并在application-local.yml中:
然后 Spring 季启动将按我们的意愿启动我们的应用程序 .