我想知道,使用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>
由于
答案 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>