日期:2014-05-18  浏览次数:20579 次

spring注入到action中
问题描述:
       项目中使用的是struts2,在程序调用的过程中,有一个注入的set方法:
                                    protected EmpManager mgr;
                                    public void setEmpManager(EmpManager mgr)
                                    {
                                        this.mgr = mgr;
                                    }
       但是我在spring的配置文件中,没有找到与之对应的配置信息。
       请教大家,是在spring注入的过程中,如果是在action里实现的注入,就不用在spring中进行配置了吗??

------解决方案--------------------
你说的Spring注入需要两步。第一在Action中写上:

private EmpManager mgr;
public void setMgr(EmpManager mgr){
    this.mgr = mgr;
}

是setMgr,不是setEmpManager。而且一般都用private而不是protected!当然我没用过protected也不知道行不行!
第二步就是你说的在Spring中配置它:mgr!
------解决方案--------------------
楼上说的对
spring的核心机制是DI即依赖注入,实例化的步骤由spring容器来完成,通常通过set即属性注入,和constructor构造器注入。Spring 3.0又增加了一个新的注入形式。
set注入
在spring里定义<bean id="mgr" class="...EmpManager"/> bean id mgr 注入走的是setMgr
方法,当然一般人会定义变量和定义bean id起相同的名字。
在action类中定义setMgr()方法。
在spring定义action 的bean <bean name="action" class="Action" ref="mgr"/>。
多用几回就熟悉了,最好是多看看官方的帮助文档


------解决方案--------------------
我的qq 2783755596