◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
java 线程类无法注入
为了解决 java 线程类无法使用 @autowired 注解注入的问题,可以使用构造器注入的方法。具体步骤如下:
1. 定义线程类
将需要注入的依赖项作为构造函数的参数:
立即学习“Java免费学习笔记(深入)”;
public class mythread implements runnable { private redisclient redisclient; private myservice myservice; public mythread(redisclient redisclient, myservice myservice) { this.redisclient = redisclient; this.myservice = myservice; } @override public void run() { // 使用已注入的依赖项... } }
2. 调用线程类
在调用线程类时,通过构造函数传参进行注入:
mythread thread = new mythread(redisclient, myservice); thread.start();
3. 注入配置
在 spring 配置文件中,使用
<bean id="myThread" class="MyThread"> <constructor-arg ref="redisClient" /> <constructor-arg ref="myService" /> </bean>
通过构造器注入的方式,可以成功将需要的依赖项注入到 java 线程类中,解决原先的问题。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。