由spring管理struts的Action實例

當指定struts.objectFactory爲spring時,struts2框架就會把bean轉發給spring來創建,裝配,注入。但是bean創建完成之後,還是由struts容器來管理其生命週期。配置方式:

(1)struts.xml中:

xml 代碼
  1. <constant name="struts.objectFactory" value="spring" />  

 

(2)struts.properties中:

java 代碼
  1. struts.objectFactory=spring  

 

通常情況下,這樣子就夠了,然後在struts的action-mapping配置文件中,如下:

xml 代碼
  1. <action name="user" class="com.myapp.admin.web.action.user.UserAction"></action>  

即可,如果在Action中有依賴於其它的BEAN,也會被自動注入進來。這時候,Action實例是以prototype方式創建的,SPRING會爲每個請求創建一個ACTION的實例。

 

在某些時候,你可能希望不僅僅讓SPRING創建和裝配Action對象,還希望讓SPRING完全管理這些對象,如希望使用AOP或者希望使用acegi時。這時候,只需要在spring的配置文件中定義這些action 即可。如在applicationContext.xml文件中:

xml 代碼
  1. <bean id="user" class="com.myapp.web.action.user.UserAction"/>  

然後在action-mapping中,指定class="user"即可。

 

發佈了6 篇原創文章 · 獲贊 3 · 訪問量 5443
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章