DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 如何使用Spring來管理Struts中的Action
如何使用Spring來管理Struts中的Action
編輯:XML詳解     

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

(1)struts.XML中:

XML 代碼:

< constant name="struts.objectFactory" value="spring" />

(2)struts.propertIEs中:

Java 代碼:

struts.objectFactory=spring

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

XML 代碼:

< action name="user" class="com.myapp.admin.web.action.user.UserAction">

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

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

XML 代碼:

< bean id="user" class="com.myapp.web.action.user.UserAction"/>

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

需要注意的一個地方:Spring中的缺省作用域是Singleton作用域。而往往Action屬於有狀態的bean,應該使用prototype作用域。

< bean id="user" class="com.myapp.web.action.user.UserAction" singleton="false"/>

如果忽略這個細節,在我們方便實用set,get方法處理數據的時候,可能會有線程安全上的風險。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved