包启动报BeanCurrentlyInCreationException解决方案

今天项目出现了一个问题,maven打包的时候没有问题,启动的时候就报了

org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'entPayTask': Bean with name 'entPayTask' has been injected into other beans [zhituiIncomeServiceImpl] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean.

这是Spring容器创建bean的时候,出现循环引用的时候报的异常。

什么是循环引用

循环引用,简单的说就是,A依赖B,B依赖C,C又依赖A,这样形成了一个闭环。

解决办法

按照报错提示在引用的bean上加一个@Lazy属性。Spring的懒加载是在需要用到bean的时候,就是getBean的时候才创建,这样就不会报BeanCurrentlyInCreationException。

你可能感兴趣的:(采坑录)