嗨,目前我的项目默认使用src / main / resources中的application.yml。我想在其他位置使用application.yml文件,以便可以随时编辑属性。请提出任何想法
答案 0 :(得分:1)
Spring Boot使您可以外部化配置,以便可以在不同环境中使用相同的应用程序代码。您可以使用属性文件,YAML文件,环境变量和命令行参数来外部化配置。可以使用@Value
批注将属性值直接注入到您的bean中,可以通过Spring的Environment
抽象访问,也可以通过@ConfigurationProperties
绑定到结构化对象。
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
设置JAVA_OPTS
环境变量示例
-Dspring.profiles.active=dev -Dspring.config.location=file:C:/application-external.yml
这将允许您在YML文件中提供多个配置文件,并让spring进行繁重的工作来评估正确的属性:
spring:
profiles: dev
someproperty: devproperty
---
spring:
profiles: test
someproperty: testproperty
要在您的Maven构建中使用外部配置文件:在pom.xml
中像这样配置maven surefire插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Dspring.config.location=file:${home}/conf/application-external.yml
</configuration>
</plugin>