1. 程式人生 > >@Resource注入失敗原因

@Resource注入失敗原因

     今天整合ssh,測試,報nullpointexception異常,發現一個service物件沒有例項化。@Resource、@Autowired都試了,還是不行,檢查。配置檔案檢查,程式碼檢查,那麼只能是jar的問題了。

      原來缺少了struts2-spring-plugin-XXX的包。Struts2與Spring的整合要用到Spring外掛包struts2-spring-plugin-x-x-x.jar,這個包是同Struts2一起釋出的。Spring外掛是通過覆蓋(override)Struts2的ObjectFactory來增強核心框架物件的建立。當建立一個物件的時候,它會用Struts2配置檔案中的class屬性去和Spring配置檔案中的id屬性進行關聯,如果能找到,則由Spring建立,否則由Struts 2框架自身建立,然後由Spring來裝配。

      注入不成功就是因為沒有這個外掛,所以全部的物件都是struts建立的,就導致spring注入不成功。