我有一个基于 struts2 的遗留Web应用程序(主要使用注释)。调试时我发现所有依赖项(如服务层和dao层)
在struts 2动作中自动注入。我期待必须在struts.xml
中定义一些必须执行此操作的弹簧拦截器。
但我没有在那里找到任何与弹簧相关的拦截器。同样在web.xml
我没有找到任何必须做这种工作的相关内容。
我不确定如何在 struts2 操作中注入依赖项(使用 spring )...
我可以在类路径中看到struts2-convention-plugin-2.2.3.1.jar
文件。这是否意味着filterDispatcher
在运行时查找此jar,如果找到它,请注入依赖项。拦截器在此过程中是否也有帮助?
答案 0 :(得分:3)
请参阅struts-plugin.xml
的{{1}},您可以找到有关对象工厂和自动装配拦截器的配置。它使用 struts2 的插件功能,您可以从Struts指南中搜索“插件”以获取详细信息。
答案 1 :(得分:1)
如果使用spring完成依赖注入,请查看spring plugin。
如果没有,struts2有自己的Dependency Injection Implementation
看看Core Developers Guide
答案 2 :(得分:0)
必须有一个拦截器..它正在动作类之前执行,并且正在使用Java反射API进行此依赖注入..或Struts 2反射工具..http://struts.apache.org/2.3.4/ Struts2的-插件/ Struts2的会展-插件/ apidocs /组织/阿帕奇/ Struts2的/会展/ ReflectionTools.html 检查拦截器堆栈。