我几乎没有所有环境共有的属性(例如spring.jpa.properties.hibernate.ejb.interceptor
)我将其保存在资源目录下的 application.properties 中。
我在基于环境的属性文件中定义了数据库属性,在启动应用程序时通过命令行从外部传递该属性:
java -jar -Dspring.config.location=<path-to-file> mySpringBootProject.jar
然而,spring.jpa.properties.hibernate.ejb.interceptor
当我从外部传递属性文件时,未设置。
即使在外部文件中,我是否也需要定义公共属性?
或者有没有一种方法可以在一个地方定义它们,在不被覆盖时可以重用?
您可以使用多个配置文件来执行此操作。例如,创建属性文件:
application-dev.properties
application-prod.properties
application.properties
将您的环境特定属性放在application-${env}.properties
文件和你的共同属性application.properties
.
有多种方法可以告诉 spring 使用哪些配置文件,例如--spring.profiles.active
flag.
See the Spring Boot 文档 https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config有关属性文件搜索顺序的更多详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)