2

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

我的用例是我想将我的 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>

谢谢

4

2 回答 2

2

你可以用, 对于高于 Spring 3.2 M1 的 spring 版本。

所以这种方式是可以的:

<beans profile="!dev" >
    ... DataSource creation ...
</beans>
于 2015-11-26T07:43:30.170 回答
1

一个更简单的方法是这样的:

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

<bean name="datasource" ...>

然后特定于开发:

<beans profile="dev" >
   <bean name="datasource" ...>
</beans>
于 2012-11-12T15:36:11.823 回答