3
回答
关于普通class的注入
【寻找人气王】邀新用户免费体验华为云服务,百元话费等你拿!   

关于普通class的注入

因为springside配置了context:component-scan base-package,所以注入一般有两种:

1、在action里直接使用@Autowired就OK

2、在servlet里使用ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);

那除了上述两种情况,我在一个普通的class里,既不是action也不是servlet,想要注入某个bean怎么操作呢?

举报
前一
发帖于6年前 3回/301阅
共有3个答案 最后回答: 6年前
这个类总要被servlet或action调用吧?从那里传bean进去。另为什么不直接把这个类定义成bean。
--- 共有 1 条评论 ---
前一我有个定时执行任务的class,这个class需要获得bean进行数据库操作 6年前 回复

我自己搞定了

首先因为这个class既不是bean,也不是sevlet或者action,是一个放到quartz里定时查询数据库的class

注入很简单,假设有个bean是@Component的,名字为Mybean,然后在applicationContext.xml里配置这个bean,<bean id="myBean" class="com.xxx.yyy.Mybean">
    </bean>

然后在class里ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
        MyBean MyBean = (MyBean) ac.getBean("myBean");

就OK了

顶部