Spring Boot DevTools (핫 리로드 용 라이브러리)을 실험하고 싶었지만 프로젝트에 포함시킨 후에 문제가 발생했습니다. @Lazy
필드 콩 BeanCreationException
을 제기했다 :스프링 부트 DevTools 초기화 오류
오류 이름으로 'project.specific.Bean'콩 만들기를 autowire 종속성 주입 실패; 중첩 예외는 org.springframework.aop.framework.AopConfigException : [class project.specific.Factory] 클래스의 CGLIB 하위 클래스를 생성 할 수 없습니다 :이 문제의 일반적인 원인은 최종 클래스 또는 보이지 않는 클래스 사용입니다. 상자의 예외는 org.springframework.cglib.core.CodeGenerationException입니다 : java.lang.reflect.InvocationTargetException -> 널
project.specific.Bean 내가 DevTools로 시도이
@Component
public class Bean ... {
...
@Autowired
@Lazy
private Factory factory;
...
}
처럼 보인다 동일한 결과를 가진 스프링 부트 Athens 및 Brussels.
간단히 @Lazy
을 제거한 후에 으로 바뀐 @Repository
에 약간의 문제가 있습니다 (아테네에서만 사용).
이 정말 이상한 문제가 된 후에 것을 :
java.lang.ClassCastException가 : project.specific.Product은 분명히
내가 돈 project.specific.Product
캐스트 할 수없는 '@Lazy
을 제거하고
@Repository
을
@Component
으로 바꾸고 싶습니다.하지만 내가 잘못하고있는 것일 수 있습니까?
"기본"클래스 로더에 의해로드되도록 일부 클래스/라이브러리를 제외해야한다는 뜻입니까? 그러나'@ Lazy'와'@ Repository'에서 내가 가진 문제점은 이미 배제되어야하는 항아리에서 유래했습니다. – RunninglVlan