我需要new一个子线程对象,子线程对象里有注入的数据库底层对象,
需要调用他的方法。但是不行了。注解都失效。但是我必须的new线程对象的。
有没有其他办法?
题主贴一下代码
new线程和注入没有关系,关键是你说的数据库底层对象,我估计你是new了这个东西,这个不能new,只能通过容器获取
注入是一种“控制反转”的实现,,控制反转的一个目的是防止由于 new 对象产生的耦合。
【1】但是不行了。注解都失效。但是我必须的new线程对象的。
(1)在spring配置文件中配置这个对象,,
(2)在主线程中加载spring配置文件,,(加载的时候,对象就创建了,等你用)
(3)getbean(),,,,即可取出你需要的对象
new的楼主别想用注解了,不知道楼上在说啥!!!!
在线程里用原生态代码向容器里取啊!
给你代码例子:
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
this.dao=(Dao) wac.getBean("dao");
org.springframework.web.context.ContextLoader这个类