2013-10-29 103 views
1

我想创建2个弹簧配置文件,一个在测试中运行,另一个在其他环境中运行。根据不活动的配置文件,我需要定义一些bean。所以基本上想要做根据其他配置文件无法启用弹簧配置文件

例如,

<beans profile="test"> 
<bean id="testconstructorBean" 
.... 
</beans> 
<!- is test is not available--> 
<beans profile="!test"> 
<bean id="constructorBean" 
... 
</beans> 

我看到的参考spring profles group,它也能正常工作。但我想要的是有两个不能共存的替代配置。

问候 ň

+0

不知道我是否完全理解,你可以使用'profile =“!test”',这是一个有效的构造,你在使用这个构造时有问题吗? –

回答

1

你可以实现一个WebApplicationInitializer和编程设置根据您的条件spring.profiles.active

This article讨论基于环境设置配置文件的方法,这听起来像您正在寻找的东西。

+0

但该声明仅定义活动配置文件并且不激活任何分组/禁用配置文件。 – nissshh

+0

我不太了解你的评论。但是按照我建议的方式,你应该能够激活任何一个配置文件(或者如果你想要,但它听起来不像你)。如果你只活动一个,另一个将被禁用。那是你要的吗? –

+0

我想处理DEV/SIT/UAT/PROD等配置文件,另一个配置为TEST的情况。我希望只有在提供了TEST配置文件的情况下才能激活一些bean,无论其他配置文件是否处于活动状态。希望这可以帮助。 – nissshh