struts 2整合spring要註意的問題(二)
阿新 • • 發佈:2019-04-08
nag tor style views sheet 什麽 phoenix view void
}
在 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不要與裏面的屬性重名
struts 2整合spring要註意的問題(二)