struts 2整合spring要注意的问题(二)


在 struts2_spring_plugin.xml配置文件里有一个strus.objectFactory.spring.autoWire 属性 默认值为name   也就是说你不想装载。它都会找个id为name的bean给你装载上(这个插件在产生Action的时候它会自己主动的把action的属性给注入进来,默认是按name注入),比方说:

  @Resource(name="userManager")  
public void setUm(UserManager um) {
this.um = um;
}

假设你没加前面的@Resource(name="userManager")  。它也会自己主动去给你找一个id是um的bean给你注入。


另一点就是。若已经通过name自己主动匹配找了一个bean那么不论在@component(name=“xxxx”)的name配什么都不会再去找了。


解决这个问题:属性名不要和其它无关的bean的id同样,比方说UserAction里面有个User(SetUser())那么这个UserAction就不要叫 @Resource(name="user")了。能够改为

  @Resource(name="useraction")  ,也就是说Action的id不要与里面的属性重名

posted on 2019-04-08 12:42  xfgnongmin  阅读(76)  评论(0编辑  收藏  举报

导航