와 proxyable하지, 나는 다음과 같은 문제가 발생 해요 : 그러나CDI 객체 주입 생성자
Caused by: org.jboss.weld.exceptions.UnproxyableResolutionException: WELD-001435: Normal scoped bean class xx.Config is not proxyable because it has no no-args constructor - Managed Bean [class xx.Config] with qualifiers [@Default @Named @Any].
at org.jboss.weld.bean.proxy.DefaultProxyInstantiator.validateNoargConstructor(DefaultProxyInstantiator.java:50)
at org.jboss.weld.util.Proxies.getUnproxyableClassException(Proxies.java:217)
at org.jboss.weld.util.Proxies.getUnproxyableTypeException(Proxies.java:178)
을, 나는에 주사 생성자가 할 클래스 : 기본 생성자, 변수 주입하고 PostConstruct의 방법으로
@Inject
public Config(ConfigLocator configLocator) {
defaultConfigPath = configLocator.getPath();
doStuff();
}
,이 모두는 잘 작동하지만,이 경우 생성자 주입을 선호하는 것입니다.
어떤 생각이 잘못 되었습니까?
개인 기본 생성자를 추가하면 WELD-001436이 표시됩니다.보호 된 기본 생성자를 추가했지만 ConfigLocator를 초기화하는 동안 RequestScope가 활성화되어 있지 않다는 예외가 발생합니다. –