用@Component 注解的类, 加载时spring 报 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qu

异常说明:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.baixun.manage.schedule.manage.VersionThread' available

参考: https://blog.csdn.net/heroqiang/article/details/79019415

参考: https://blog.csdn.net/john1337/article/details/88924696

参考: https://www.cnblogs.com/sharpest/p/6064595.html

参考: https://blog.csdn.net/wang_shuyu/article/details/83657366

最后一个参考, spring 注入多线程实现类

报错环境:

类对象时一个继承 Thread 的类,用 @Component 注解了,不存在注解扫描路径的问题,在 用 BeanFactory 加载该类时报错,一直无法理解,后来发现 Spring 默认注册都是单例模式,无法直接加载 多线程类,必须用@Scope("prototype") 指定范围,

后来再用benaFactory 生成类对象时,又报异常

org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named 'versionThread' is expected to be of type 'com.baixun.manage.schedule.manage.VersionThread' but was actually of type 'com.sun.proxy.$Proxy190'
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:378) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1086) ~[spring-context-4.3.13.RELEASE.jar:4.3.13.RELEASE]

生成的时代理类型,可能时@Scope("prototype") 指定的原型,所以生成的类,会自动变成代理类,

在类上加 @

@EnableAspectJAutoProxy(proxyTargetClass=true)   // 设置允许使用 代理类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值