标签:name service spring springframework bean zhenler beans 引用
spring service层 循环引用问题。
报错信息如下:
Error creating bean with name 'smsCodeApiController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.zhenler.microcode.service.IWechatUserService com.zhenler.commonality.controller.api.SmsCodeApiController.wechatUserService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'wechatUserServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.zhenler.eorder.food.service.IFoodService com.zhenler.microcode.service.impl.WechatUserServiceImpl.iFoodService; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'foodServiceImpl': Bean with name 'foodServiceImpl' has been injected into other beans [foodPackageServiceImpl] 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. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.
如出现上诉情况, 避免报错 可以在service中添加:@Lazy(true) 例如:
@Autowired @Lazy(true) private IFoodPackageService foodPackageService;
则可以解决 循环引用 导致spring boot启动报错问题。 [注意: 尽量在涉及架构的时候 进行松耦合]
标签:name,service,spring,springframework,bean,zhenler,beans,引用 来源: https://blog.csdn.net/kingmax54212008/article/details/94396260
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。