【发布时间】:2017-03-13 15:25:57
【问题描述】:
想尝试Spring Boot DevTools(用于热重载的库),但在将其包含在我们的项目中后遇到了一些问题。
带有@Lazy 字段的bean 正在提高BeanCreationException:
创建名为“project.specific.Bean”的 bean 时出错:注入自动装配的依赖项失败;嵌套异常是 org.springframework.aop.framework.AopConfigException:无法生成类 [class project.specific.Factory] 的 CGLIB 子类:此问题的常见原因包括使用最终类或不可见类;嵌套异常是 org.springframework.cglib.core.CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
project.specific.Bean 看起来像这样
@Component
public class Bean ... {
...
@Autowired
@Lazy
private Factory factory;
...
}
我用 Spring Boot Athens 和 Brussels 尝试了 DevTools,结果相同。
在简单地删除 @Lazy 之后,@Repository 也出现了一些问题,我刚刚将其替换为 @Component(仅在雅典尝试过)。
之后还有这个很奇怪的问题:
java.lang.ClassCastException: project.specific.Product 不能转换为 project.specific.Product
显然我不想删除@Lazy 并将@Repository 替换为@Component,但也许我做错了什么?
【问题讨论】:
标签: spring spring-boot