Spring在xml配置文件中复制bean定义一个在!stage中,另一个在dev中

时间:2018-01-26 20:07:40

标签: java xml spring spring-mvc spring-boot

我的应用程序有3个可能的配置文件 - dev,stage和prod。我的spring启动应用程序有一个带有2个配置文件的xml配置,似乎无法正常工作。

<bean id="globalBean">
    <ref bean="myBean">
</bean>

<beans profile="!stage">
    <bean id="myBean">
        <property name="name" value="notStage" />
    </bean>
    <!--There are more bean definitions here common for dev and prod and have reference to myBean defined above-->
</beans>

<beans profile="dev">
    <bean id="myBean">
        <property name="name" value="dev" />
    </bean>
</beans>

<beans profile="stage">
    <bean id="myBean">
        <property name="name" value="stage" />
    </bean>
</beans>

在开发模式下,我的应用程序不会以某种方式选择开发定义并默认为在profile =&#34;!stage&#34;中定义的bean定义。

如上所述,我需要个人资料=&#34;!stage&#34;在开发和生产中持有普通豆。

1 个答案:

答案 0 :(得分:0)

将个人资料指定为dev会与!stagedev匹配。

您可以在bean声明中定义多个配置文件,如此

<beans profile="dev, prod">

您可以定义dev和prod共同的bean声明