给sturts Action类注入spring bean的几种已测试、可行的方法

  1. 在struts和spring中配置两次,在spring中将action配置为bean。struts中class属性为spring中bean id,依靠property标签注入,需要设置set和get方法。

  2. 只在struts中注册一次(class属性是全限定名),令action中属性名与bean id/name一致,自动完成注入。无需设置set和get方法。

    需注意,如果bean id/name 是首字母大写,第二个字母小写或者只有首字母时,插件不会注入bean。因为插件寻找的set方法是符合sun命名规范的方法,如果set方法为setName,或setN,那么插件认为该方法对饮的属性名是name或n;如果set方法为setNAme,那么插件才会认为该属性名是首字母大写的,因而注入NAme。因此如果bean id写成了首字母大写,其余字母小写或者只有一个首字母且大写时,无论action中怎样命名都不会完成注入。

  3. 在spring配置文件加上 <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>

    在action中在属性前加入@AUTOWIRED注解,这样会根据类型进行自动装配,并且无需设置set和get方法。

你可能感兴趣的:(给sturts Action类注入spring bean的几种已测试、可行的方法)