【Exception】Spring报错:Bean with name ‘xxx‘ has been injected into other beans [xxx] in its raw version

博客内容讲述了在Spring框架中遇到的Bean循环引用问题,即metaTableColumnsServiceImpl和metaTableServiceImpl互相注入导致的Error creating bean异常。解决方法是在一方使用@Lazy注解以避免初始化时的循环依赖。这提醒开发者在配置Bean时要注意类型匹配的适度,考虑使用getBeanNamesForType方法并关闭eager init选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.报错内容:
Error creating bean with name ‘metaTableColumnsServiceImpl’: Bean with name ‘metaTableColumnsServiceImpl’ has been injected into other beans [metaTableServiceImpl] 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 ‘getBeanNamesForType’ with the ‘allowEagerInit’ flag turned off, for example.
hua

2原因: metaTableColumnsServiceImpl类中注入了 metaTableServiceImpl, 而在 metaTableServiceImpl类中也注入了 metaTableColumnsServiceImpl,从而引起该异常。 (循环引用)

3、解决: metaTableColumnsServiceImpl类注入 metaTableServiceImpl时,增加注解 @Lazy ,反之同理。

4、@Lazy 注解路径为: org.springframework.context.annotation.Lazy 。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值