Struts2.1.8+Spring2.5.6+Hibernate3.2整合的兩種方式!!!

第一種方式:

Action的初始化交給Action,此時spring的插件會自動去spring的容器中按照名字去組裝初始化Action,在這種情況下意味着有兩個容器,一個struts2管理的容器,一個是spring容器。要注意的是在struts.xml文件中action的配置,class必須是當前Action所在的包的全稱。
Action此時不需要去初始化(由struts2初始化),service的接口不需要注入。這表現在如果用annotation註解,action不需要@Component,依賴注入不需要的@Resource,Action默認的是多例的,不需要@Scope("prototype").如果採用xml配置,則不需要配置bean.

代碼如下:Action配置如下

struts.xml文件配置如下:

 

第二種方式

:Action的初始化交給spring,依賴注入同樣的交給spirng,這表現在annotation註解中,Action必須@Compeonent,生命週期爲prototype,
但是在action在struts.xml文件中配置class的名字必須是@components的名字,依賴注入必須是@Resources

action如下:

struts.xm l

 

 

結論:建議採用的第二種配置方式,對象的初始化,注入統一交給spring管理,也就是struts-plugin.xml文件中提供的StrutsSpringObjectFactory工廠。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章