使用Spring配置文件(XML)为除一个以外的所有配置文件声明bean

时间:2012-11-09 15:04:44

标签: java spring

我想知道,使用Spring XML配置文件,是否可以为所有配置文件声明Spring bean,但dev配置文件除外。

我的用例是我想将我的JDBC数据源声明为为配置文件“dev”提供的JNDI,而它是为其他配置文件创建的。

我希望有类似的东西:

<beans profile="dev" >
    ... DataSource JNDI ...
</beans>
<beans profile="!dev" >
    ... DataSource creation ...
</beans>

有解决方案吗?或唯一的方法是:

<beans profile="dev" >
    ... DataSource JNDI ...
</beans>
<beans profile="integration,valid,preprod,prod" >
    ... DataSource creation ...
</beans>

由于

2 个答案:

答案 0 :(得分:1)

更简单的方法是:

为任何配置文件创建常规数据源:

<bean name="datasource" ...>

然后特定于dev:

<beans profile="dev" >
   <bean name="datasource" ...>
</beans>

答案 1 :(得分:1)

对于高于Spring 3.2 M1的弹簧版,您可以使用

所以这种方式还可以:

<beans profile="!dev" >
    ... DataSource creation ...
</beans>