使用Spring自动装配Struts Action类

时间:2011-03-27 09:19:51

标签: spring struts

我对弹簧和支柱有疑问。 目前我已经为我注入了我的struts动作课程。

我正在尝试并尝试让Spring注入我的Struts动作类 对我来说,使用自动装配。

我的spring applicationContext配置文件正在扫描基础包 动作类正在使用context:component-scan base-package="my.package", 并且我在动作类的类级别使用@Component注释。 我也在同一个动作类的类级别使用@Qualifier("myActionClass")。 我没有在applicationContext中将动作类配置为Spring bean。

然后在我的struts.xml配置文件中,在配置我的操作类时,我使用@Qualifier注释名"myActionClass"而不是提供完全限定的包和类名。

但这不起作用。 如果在我的applicationContext配置文件中,将我的操作类配置为spring bean,请删除操作类上的@Component@Qualifier注释,并在struts.xml中放置操作类为类的Spring bean id,然后Spring为我注入我的动作类,一切都很花花公子。只是,这不是使用自动装配动作类,这就是我正在测试的内容。

任何人都知道是否使用上下文自动装配:component-scan base-package 扫描你的包的动作类,这样你就不必在applicationContext中配置它们了吗?

2 个答案:

答案 0 :(得分:3)

Spring文档中解释了所有内容:Apache Struts 1.x and 2.x

我不确定您是否使用Struts 1或2.对于Struts 1,您必须将Spring插件添加到Struts配置中(我知道它有效)。在Struts 2中,所有操作都是由Spring创建的,因此它们像所有其他bean一样完全能够进行Spring注入。

答案 1 :(得分:0)

Struts 2似乎依赖于一个spring bean,它具有与动作类名称相匹配的相同spring bean-name(带包的全名)。您可以在@Component注释中指定bean名称,并且还可以创建全局用户定义的bean命名策略,以便您可以避免将此信息添加到所有bean