当前位置: 首页 > 面试题库 >

如何将springbean注入到struts拦截器中

黄君博
2023-03-14
问题内容

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


问题答案:

编辑

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

就像使用Actions一样,(如果我没记错的话)是在bean.xml中声明的例外,因为Interceptor不会扩展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"/>

Struts.xml

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

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

MyInterceptor.java

private DaoService daoServiceBean; // Autowired by Spring


 类似资料:
  • 我们正在构建一个应用程序,我们需要将实体更新登录到历史表中。我试图通过Hibernate拦截器来实现这一点,我们可以设法获得所有的更改,但很难将它们插入审计表。 我的JPA配置 我的拦截器 } 在方法afterTransactionCompletion中,我需要将所有审计实体写入DB,Autowire不工作,因为这不是spring管理的bean,是否有任何方法可以在此方法中获取DB会话,以便我可以

  • 我有下面的映射器类,我想在其中使用。我正在尝试构造函数注入,但不起作用,并且正在打印。 mapStruct实现类 如果我使用使用字段注入,这样它就可以正常工作。这意味着Spring不支持类的构造函数注入。是因为类不能直接实例化,需要子类来实例化吗? 有没有什么方法可以在实现类中创建一个构造函数,如下所示: 这样,构造函数注入应该可以工作。

  • 我一直在阅读Struts2文档中的,它讨论了如何将StoreInterceptor添加到中的操作定义中,并且它很管用。但如果您要从操作中创建和添加,则情况就是如此。 我的问题是,我正在使用进行登录,如果登录失败,它将添加一个,如下所示: 它添加得很好,但当我进入在之后调用的LoginAction时,为。 我认为通过像这样添加,它将在请求或会话中存储(使用或参数): 但不管用。我还尝试将直接添加到d

  • 我正在编写单元测试,有一个非常复杂的设置。 依赖bean设置一些侦听器,并将它们传递给自动连线服务。 我想测试侦听器是否存在,但不调用它们,因此我想传递'null'而不是自动连线服务。(特别是:我没有二传手…) 请注意,SUT确实间接依赖于返回侦听器的类。 因为这是一个来自大设置的非常小的示例,所以我不想在这里使用mock,因为我只想测试侦听器的存在性而不是行为。 嘲笑20或30个这样的服务会大大

  • 问题内容: 我有以下动作映射 我可以使用Interceptor中的以下行获取参数映射 就像上面一样, 有什么方法可以获取 以下映射中定义的 拦截器参数 。 动作参数按以下方式定义,动作参数和拦截器参数应分别可访问。 请注意,我不想在拦截器中将参数字段声明为 在Dev Blanked的攻击之后,我实现了他的技术。它没有用,所以我在这里共享我的代码。我正在使用Struts 2.3.1.2。 图书馆 a

  • 本文向大家介绍Struts拦截器实现拦截未登陆用户实例解析,包括了Struts拦截器实现拦截未登陆用户实例解析的使用技巧和注意事项,需要的朋友参考一下 本文研究的主要是Struts拦截器实现拦截未登陆用户,具体实现如下。 首先建立一个工具类: checkPrivilegeInterceptor:这个类继承interceptor,这是一个接口,要实现三个方法,要是觉得比较多的话,可以继承他的实现类A