自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

整合Struts和Spring

開發(fā) 后端
本文介紹整合Struts和Spring,以及整合Struts和Spring的竅門和裝載應(yīng)用程序環(huán)境。

您肯定已經(jīng)聽說過控制反轉(zhuǎn) (IOC) 設(shè)計(jì)模式,因?yàn)楹荛L(zhǎng)一段時(shí)間以來一直在流傳關(guān)于它的信息。如果您在任何功能中使用過 Spring 框架,那么您就知道其原理的作用。在本文中,我利用這一原理把一個(gè) Struts 應(yīng)用程序注入 Spring 框架,您將親身體會(huì)到 IOC 模式的強(qiáng)大。

將一個(gè) Struts 應(yīng)用程序整合進(jìn) Spring 框架具有多方面的優(yōu)點(diǎn)。首先,Spring 是為解決一些關(guān)于 JEE 的真實(shí)世界問題而設(shè)計(jì)的,比如復(fù)雜性、低性能和可測(cè)試性,等等。第二,Spring 框架包含一個(gè) AOP 實(shí)現(xiàn),允許您將面向方面技術(shù)應(yīng)用于面向?qū)ο蟮拇a。第三,一些人可能會(huì)說 Spring 框架只有處理 Struts 比 Struts 處理自己好。但是這是觀點(diǎn)問題,我演示三種將 Struts 應(yīng)用程序整合到 Spring 框架的方法后,具體由您自己決定使用哪一種。

我所演示的方法都是執(zhí)行起來相對(duì)簡(jiǎn)單的,但是它們卻具有明顯不同的優(yōu)點(diǎn)。我為每一種方法創(chuàng)建了一個(gè)獨(dú)立而可用的例子,這樣您就可以完全理解每種方法。請(qǐng)參閱 下載 部分獲得完整例子源代碼。請(qǐng)參閱 參考資料,下載 Struts MVC 和 Spring 框架。

為什么 Spring 這么了不起?

Spring 的創(chuàng)立者 Rod Johnson 以一種批判的眼光看待 Java™ 企業(yè)軟件開發(fā),并且提議很多企業(yè)難題都能夠通過戰(zhàn)略地使用 IOC 模式(也稱作依賴注入)來解決。當(dāng) Rod 和一個(gè)具有奉獻(xiàn)精神的開放源碼開發(fā)者團(tuán)隊(duì)將這個(gè)理論應(yīng)用于實(shí)踐時(shí),結(jié)果就產(chǎn)生了 Spring 框架。簡(jiǎn)言之,Spring 是一個(gè)輕型的容器,利用它可以使用一個(gè)外部 XML 配置文件方便地將對(duì)象連接在一起。每個(gè)對(duì)象都可以通過顯示一個(gè) JavaBean 屬性收到一個(gè)到依賴對(duì)象的引用,留給您的簡(jiǎn)單任務(wù)就只是在一個(gè) XML 配置文件中把它們連接好。


依賴注入是一個(gè)強(qiáng)大的特性,但是 Spring 框架能夠提供更多特性。Spring 支持可插拔的事務(wù)管理器,可以給您的事務(wù)處理提供更廣泛的選擇范圍。它集成了領(lǐng)先的持久性框架,并且提供一個(gè)一致的異常層次結(jié)構(gòu)。Spring 還提供了一種使用面向方面代碼代替正常的面向?qū)ο蟠a的簡(jiǎn)單機(jī)制。

Spring AOP 允許您使用攔截器 在一個(gè)或多個(gè)執(zhí)行點(diǎn)上攔截應(yīng)用程序邏輯。加強(qiáng)應(yīng)用程序在攔截器中的日志記錄邏輯會(huì)產(chǎn)生一個(gè)更可讀的、實(shí)用的代碼基礎(chǔ),所以攔截器廣泛用于日志記錄。您很快就會(huì)看到,為了處理橫切關(guān)注點(diǎn),Spring AOP 發(fā)布了它自己的攔截器,您也可以編寫您自己的攔截器。


整合 Struts 和 Spring

與 Struts 相似,Spring 可以作為一個(gè) MVC 實(shí)現(xiàn)。這兩種框架都具有自己的優(yōu)點(diǎn)和缺點(diǎn),盡管大部分人同意 Struts 在 MVC 方面仍然是最好的。很多開發(fā)團(tuán)隊(duì)已經(jīng)學(xué)會(huì)在時(shí)間緊迫的時(shí)候利用 Struts 作為構(gòu)造高品質(zhì)軟件的基礎(chǔ)。Struts 具有如此大的推動(dòng)力,以至于開發(fā)團(tuán)隊(duì)寧愿整合 Spring 框架的特性,而不愿意轉(zhuǎn)換成 Spring MVC。沒必要進(jìn)行轉(zhuǎn)換對(duì)您來說是一個(gè)好消息。Spring 架構(gòu)允許您將 Struts 作為 Web 框架連接到基于 Spring 的業(yè)務(wù)和持久層。最后的結(jié)果就是現(xiàn)在一切條件都具備了。

在接下來的小竅門中,您將會(huì)了解到三種將 Struts MVC 整合到 Spring 框架的方法。我將揭示每種方法的缺陷并且對(duì)比它們的優(yōu)點(diǎn)。 一旦您了解到所有三種方法的作用,我將會(huì)向您展示一個(gè)令人興奮的應(yīng)用程序,這個(gè)程序使用的是這三種方法中我最喜歡的一種。


三個(gè)小竅門

接下來的每種整合技術(shù)(或者竅門)都有自己的優(yōu)點(diǎn)和特點(diǎn)。我偏愛其中的一種,但是我知道這三種都能夠加深您對(duì) Struts 和 Spring 的理解。在處理各種不同情況的時(shí)候,這將給您提供一個(gè)廣闊的選擇范圍。方法如下:

◆使用 Spring 的 ActionSupport 類整合 Structs
◆使用 Spring 的 DelegatingRequestProcessor 覆蓋 Struts 的 RequestProcessor
◆將 Struts Action 管理委托給 Spring 框架

裝載應(yīng)用程序環(huán)境

無論您使用哪種技術(shù),都需要使用 Spring 的 ContextLoaderPlugin 為 Struts 的 ActionServlet 裝載 Spring 應(yīng)用程序環(huán)境。就像添加任何其他插件一樣,簡(jiǎn)單地向您的 struts-config.xml 文件添加該插件,如下所示:

  1. <plug-in className=  
  2.   "org.springframework.web.struts.ContextLoaderPlugIn"> 
  3.     <set-property property=  
  4.       "contextConfigLocation" value="/WEB-INF/beans.xml"/> 
  5.  </plug-in> 

前面已經(jīng)提到過,在 下載 部分,您能夠找到這三個(gè)完全可使用的例子的完整源代碼。每個(gè)例子都為一個(gè)書籍搜索應(yīng)用程序提供一種不同的 Struts 和 Spring 的整合方法。您可以在這里看到例子的要點(diǎn),但是您也可以下載應(yīng)用程序以查看所有的細(xì)節(jié)。

【編輯推薦】

  1. Spring Batch 2.0的新特性
  2. 簡(jiǎn)單介紹Spring osgi
  3. Spring OSGi的整合
  4. 在Spring中配置Glassfish JPA
  5. 解決Spring2.0向spring2.5遷移的問題
責(zé)任編輯:佚名 來源: IBM
相關(guān)推薦

2009-03-06 14:34:31

StrutsHibernateSpring

2009-07-17 17:45:56

iBATIS Spri

2009-06-19 15:52:58

Struts和Spri

2009-06-01 15:44:18

2009-06-18 15:56:49

Struts和Spri

2009-03-24 10:30:35

SpringStruts集成

2009-09-24 09:18:18

2009-06-26 17:15:44

Struts2

2011-05-19 09:52:48

SSH

2009-07-21 16:49:41

整合iBatis和SpSqlMapClien

2010-07-30 16:04:17

Flex2struts

2009-06-03 14:19:34

Struts2Guice

2009-06-03 09:16:03

Hibernate工作原理使用

2009-07-20 16:51:59

Struts2.0+i

2009-06-30 17:03:49

Spring集成Str

2009-09-22 14:46:18

struts-spri

2009-09-21 17:10:14

struts Hibe

2009-06-18 15:24:08

Spring OSGi

2021-11-10 11:37:48

Spring整合 Mybatis

2016-12-14 09:03:34

springhibernate異常
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)