3
我试图实现Togglz & Spring使用@Configuration bean而不是XML。我不知道如何配置Configuration bean的返回类型。例如:Togglz with Spring @Configuration bean
@Configuration
public class SystemClockConfig {
@Bean
public SystemClock plainSystemClock() {
return new PlainSystemClock();
}
@Bean
public SystemClock awesomeSystemClock() {
return new AwesomeSystemClock();
}
@Bean
public FeatureProxyFactoryBean systemClock() {
FeatureProxyFactoryBean proxyFactoryBean = new FeatureProxyFactoryBean();
proxyFactoryBean.setActive(awesomeSystemClock());
proxyFactoryBean.setInactive(plainSystemClock());
proxyFactoryBean.setFeature(Features.AWESOME_SYSTEM_CLOCK.name());
proxyFactoryBean.setProxyType(SystemClock.class);
return proxyFactoryBean;
}
}
的systemClock
方法返回一个FeatureProxyFactoryBean
,但这个bean的客户端需要一个SystemClock
。当然,编译器对此感到厌烦。
我想它只是在使用XML配置时才起作用。使用配置bean时应该如何处理它?
此实现是在使用功能切换无用的情况下,因为您的实现将被发现一次,因为它作为singleton提供 – vvursT 2014-03-24 06:44:26
FeatureProxyFactoryBean将创建一个代理,该代理将调用方法调用到正确的实例。所以这将工作正常。 – chkal 2014-03-26 12:53:04
我的不好。你是对的! – vvursT 2014-03-28 14:08:26