我在一个属性文件中有几个属性,我想继承到应用程序属性。如果春季靴子可以,请告知。
类似
find a abs = [x | (y, x) <- abs, a == y]
当春季启动应用加载时,我想要使用@Value注释加载所有5个属性并使其可用。 spring boot会自动选择classpath中的application.properties,而且我没有applyaitoncontext xml或任何属性加载器代码。
提前致谢。
答案 0 :(得分:10)
您可以使用个人资料。
使用application.properties
个文件,您可以为每个Profile
定义一个文件,如下所示:
application.properties # This is the main file
spring.profiles=p1,p2,p3
prop-main=hi
application-p1.properties # This is the file with p1 properties
property1=patata
application-p2.properties # This is the file with p2 properties
property2=catsup
application-p3.properties # This is the file with p3 properties
property3=helloworld
Spring将翻译文件并像这样使用它:
application.properties # This is the main file
spring.profiles=p1,p2,p3
prop-main=hi
property1=patata
property2=catsup
property3=helloworld
此解决方案有效,但您必须为每个组保留一个单独的文件。
还有另一种方法,您可以使用单个YAML
文件而不是多个properties
文件。只需将application.properties
替换为application.yml
并执行以下操作:
server:
address: 192.168.1.100
---
spring:
profiles: development
server:
address: 127.0.0.1
---
spring:
profiles: production
server:
address: 192.168.1.120
您可以阅读参考文档,详细了解Using YAML instead of Properties和Multi-profile YAML documents。
答案 1 :(得分:6)
对我来说,spring.profiles.include=p1,p2,p3
文件
application.properties
个作品
答案 2 :(得分:0)
我有同样的问题,并通过 mkyong 找到了一个很好的解释解决方案。本教程介绍了如何使用.porperties
或.yaml
文件来使用不同的扩展Spring配置文件。 (与eSala提到的方法相同。)
https://www.mkyong.com/spring-boot/spring-boot-profile-based-properties-and-yaml-example/