3
XML 대신 @Configuration 빈을 사용하여 Togglz & 봄을 구현하려고합니다. 구성 빈의 리턴 유형을 구성하는 방법을 모르겠습니다. 예를 들어 :Spring @Configuration 빈을 사용하는 Togglz
는@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
을 반환하지만이 빈의 클라이언트는 SystemClock
이 필요합니다. 물론, 컴파일러는 이걸로 괴롭힌다.
XML 구성을 사용할 때 작동하는 것으로 상상해보십시오. 구성 빈을 사용할 때 어떻게 접근해야합니까?
이 구현은 싱글 톤 – vvursT
FeatureProxyFactoryBean이 메소드 호출을 올바른 인스턴스로 전달하는 프록시를 생성하기 때문에 구현이 한 번 발견되기 때문에 유용하지 않은 토글을 사용하는 경우에 유용합니다. 그래서 이것은 잘 동작 할 것입니다. – chkal
내 잘못입니다. 네가 옳아! – vvursT