熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

由spring管理struts的Action實例

2013-11-23 20:26:45  來源: Java開源技術 

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

  ()strutsxml中



xml 代碼

   <constant name=strutsobjectFactory value=spring /> 

  ()strutsproperties中


java 代碼
 
strutsobjectFactory=spring  

  通常情況下這樣子就夠了然後在struts的actionmapping配置文件中如下


xml 代碼

   <action name=user class=commyappadminwebactionuserUserAction></action>   

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

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


xml 代碼

   <bean id=user class=commyappwebactionuserUserAction/>  

  然後在actionmapping中指定class=user即可

  需要注意的一個地方Spring中的缺省作用域是Singleton作用域而往往Action屬於有狀態的bean應該使用prototype作用域<bean id=user class=commyappwebactionuserUserAction singleton=false/> 如果忽略這個細節在我們方便實用setget方法處理數據的時候可能會有線程安全上的風險


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28504.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.