AI智能
改变未来

学习Spring遇到的bug的解决

1、bean 类型不唯一:org.springframework.beans.factory.NoUniqueBeanDefinitionException

Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type \'com.shan.service.IEmployeService\' available: expected single matching bean but found 2: employeeService,employeeServiceProxy

● 分析思路:“found 2: employeeService,employeeServiceProxy”,查看咱自己写的代码发现,这两都实现了接口IEmployeService,所以当咱测试时候,用到接口IEmployeService时,bean类型不唯一了。。。

● 解决思路:方式一:不要用接口测试,用具体的类做测试,避免了多个对象因为实现接口而出现bean类型不唯一;方式二:bean的获取通过类型+名字,保证唯一性;

  • 方式3:(推荐)这里的话是代理模式,
    将真实对象(是对象代理类的内部对象属性)设置为内部bean,更加符合代理增强的作用。

    对象属性,使用内部bean配置,不给它配置上id,

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 学习Spring遇到的bug的解决