【问题标题】:how to inject springbean to a struts intercepter..is it possible [closed]如何将spring bean注入struts拦截器..有可能[关闭]
【发布时间】:2014-11-13 09:31:17
【问题描述】:

我有一个使用定义的拦截器,从拦截器我想通过 DAO 层进行 db 调用,那么如何将 spring bean 注入到 struts 拦截器。是否可以将 spring bean 注入到 struts 拦截器 任何人都可以对此提出任何想法。

【问题讨论】:

  • 你试过注入吗?究竟是什么不工作?

标签: spring struts2


【解决方案1】:

编辑

由于不需要将 Interceptor 声明为 Spring bean,因此我删除了不必要的部分。感谢@AleksandrM 对其进行测试。


与 Actions 完全一样,除了(如果我没记错的话)在 beans.xml 中声明它的例外,因为拦截器不扩展 ActionSupport(默认情况下是自动装配的)

web.xml

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

ApplicationContext.xml

<bean id="daoServiceBean" 
   class="org.foo.bar.business.dao.DaoService"/>

罢工>

<bean id="myInterceptorBean" 
   class="org.foo.bar.presentation.interceptors.MyInterceptor"/>

Struts.xml

<constant name="struts.objectFactory" value="spring" />

<package ...>
    <interceptors>

罢工>

        <interceptor name="myInterceptor" class="myInterceptorBean" />

        <interceptor name="myInterceptor" 
                    class="org.foo.bar.presentation.interceptors.MyInterceptor"/>

MyInterceptor.java

private DaoService daoServiceBean; // Autowired by Spring

另请阅读:

【讨论】:

  • 我认为这应该可以在没有明确将拦截器定义为 bean 的情况下工作。
  • 是的,但我不确定。文档里总是报ActionSupport,但是说到底ObjectFactory是Spring...
  • 那么 1) 他甚至没有在 Interceptor 中尝试过,或者 2) 他有配置问题阻止注入也可以在 Actions 上工作。
猜你喜欢
  • 1970-01-01
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
  • 2011-07-16
  • 2014-02-19
  • 1970-01-01
  • 2014-02-09
  • 1970-01-01
相关资源
最近更新 更多