struts.objectFactory和struts.objectFactory.spring.autoWire

struts.objectFactory這個屬性用於說明Struts2的對象池創建工廠,Struts2也有自己的對象池,就像Spring那樣,在配置文件中你可以引用對象池中的對象,你可以藉助於Spring中的對象池,當想要得到Spring中的對象池時,申明struts.objectFactory爲Spring的對象池構建工廠。當指定struts.objectFactory爲spring時,struts2框架就會把bean轉發給spring來創建,裝配,注入。但是bean創建完成之後,還是由struts容器來管理其生命週期。

在struts.xml中的代碼如下:<constant name="struts.objectFactory" value="spring" />



struts.objectFactory.spring.autoWire是用spring插件通過覆蓋(override)Struts2的 ObjectFactory來增強核心框架對象的創建。當創建一個對象的時候,它會用Struts2配置文件中的class屬性去和Spring配置文件中的id屬性進行關聯,如果能找到則由Spring創建,否則由Struts2框架自身創建,然後由Spring來裝配。

Spring插件具體有如下幾個作用:
1. 允許spring來創建Action、Interceptror和Result
2. 由Struts創建的對象能夠被Spring裝配
3. 提供了2個攔截器來自動裝配action,如果沒有使用Spring ObjectFactory的話
這裏要注意的是,我們不必在Spring中去註冊action,儘管我們可以這麼去做,通常Struts框架會自動的從action mapping中創建action對象。
這樣就是讓spring去管理這些bean

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