我被困在Spring 3.1.1应用程序中而无法升级到4.x因此我无法使用@Conditional批注来有条件地启用Spring Bean。在Spring 3.1.1中实现类似行为的最简单方法是什么?目前我没有使用Profiles,而是希望实现更简单的方法。有什么建议吗?
我有一个@Configuration文件,其中包含我的所有JMS配置/ Bean。我只想根据属性文件中的true / false属性加载此文件中的bean。我需要能够根据属性文件打开或关闭此功能。在Spring 4中,添加了一个功能来应用@Conditional注释并提供加载bean的条件。我需要做同样的事情,但是在Spring 3.1.1中。
答案 0 :(得分:0)
如果设置了属性,创建bean怎么样,否则创建null?
@Bean
public YourBean yourBean(@Value("your.property.value") boolean enabled) {
if (enabled) {
return new YourBean();
}
return null;
}
这样就不会在其他地方使用。 如果您需要自动装配,您可以自动装配它,然后像:
@Autowired(required = false)
private YourBean someBean;
并在使用前检查它是否存在。