Spring

时间:2016-01-05 15:35:47

标签: java spring maven spring-mvc yaml

我有一个使用以下命令构建的Spring项目

mvn clean install -Pdevelopment

通过根据maven配置文件选择适当的属性文件来完美地工作

我们当前的应用程序现已更新为包含application.yml文件和属性文件

Yml文件提供了基于弹簧配置文件创建属性的功能

#DEV
spring:
    profiles: profile1
environment:
    property1: AAA
    property2: BBB
---
#PROD
spring:
    profiles: profile2
environment:
    property1: CCC
    property2: DDD
---

这适用于使用-Dspring.profiles.active=profile1

的弹簧配置文件

有没有办法读取maven配置文件(而不是弹簧配置文件)并相应地设置属性?

1 个答案:

答案 0 :(得分:3)

由于您不再需要使用弹簧配置文件,因此application.yml中只需要一个键。从你的例子中可以看出它是这样的:

environment:
  property1: @property1@
  property2: @property2@

然后在pom.xmlsettings.xml

中制作个人资料
<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <property1>AAA</property1>
            <property2>BBB</property2>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <property1>CCC</property1>
            <property2>DDD</property2>
        </properties>
    </profile>
</profiles>

在我的应用程序类中使用如下:

@Value("${environment.property1}")
private String profileProperty;

@Value("${environment.property2}")
private String settingsProperty;