A. Spring翻譯中文什麼意思
音標:[ spriŋ ]
過去式:sprang過去分詞:sprung名詞復數:springs現在分詞:springing
n.
1.春季,春天。
2.青春;初期。
3.〔pl.〕大潮時期。
4.泉。
5.源頭,水源,根源,本源;發生;動機,原動力。
6.跳躍;彈回,反跳。
7. 彈力;彈性。
8.發條,彈簧;(汽車的)鋼板。
9.活力,精力,元氣。
10.【造船】(桅桿等的)裂縫;纜索;系船索。
11.(甲板的)上翹,轉向錨索,倒纜。
12.【高爾夫球】棒的彎曲。
13.【建築】起拱點,起拱面。
14.〔美俚〕年輕無經驗的人,年輕幼稚的女子。
vi.
(sprang , sprung; sprung)
跳,躍。
2.跳出;湧出[上];發源。
3.起源於,發生;發芽。
4.(木板等)彎曲,反翹,歪,裂開;(地雷)炸開。
5.高出,聳立。
6.【建築】(拱等)開始,升起。
7.【航海】拚命劃船使飛躍向前。
8.出身。
vt.
1.使跳起來;驚起;跳過。
2.使爆炸,使炸裂,使彎曲,使破裂,使折斷。
3.彈出,突然提出。
4.〔主用 p.p.〕裝彈簧。
5.扭傷(腿等);使跛。
6.【建築】開始砌(拱洞等)。
7.【航海】用錨纜轉變方向。
8.〔美俚〕(從監獄)釋放出去,保釋出去。
B. sPring什麼意思
,Spring簡介
Spring的特點:
1, Spring不同於其他的Framework,它要提供的是一種管理你的業務對象的方法。
2, Spring有分層的體系結構,意味著你能選擇僅僅使用它的任何一個獨立的部分,而其他的仍然使用你的相關實現。
3, 它的設計從一開始就是要幫助你編寫易於測試的代碼,Spring是使用測試驅動開發(TDD)的工程的理想框架。
4, Spring不會給你的工程添加對其他的框架依賴;同時Spring又可以稱得上是個一攬子解決方案,提供了一個典型應用所需要的大部分基礎架構。
Spring的好處:
1, Spring能有效地組織你的中間層對象;(*)
2, Spring能消除在許多工程中常見的對Singleton的過多使用;
3, 通過一種在不同應用程序和項目間一致的方法來處理配置文件,消除各種自定義格式的屬性文件的需要,僅僅需要看看類的JavaBean屬性。Inversion of Control的使用幫助完成了這種簡化;(使用的是type2的IoC)
4, 能夠很容易培養你面向介面而不是面向類的編程習慣。(這也算。。。)
5, Spring的設計會讓使用它創建的應用盡可能少的依賴於它的APIs,在Spring應用中的大多數業務對象沒有依賴於Spring。
6, 使用Spring構建的應用程序易於單元測試;
7, Spring使EJB成為一個實現選擇,而不是必需的選擇。你可以用POJOs或local EJBs來實現業務介面,卻不會影響到調用代碼。
8, Spring提供一些web應用上的EJB的替代方案,比如用AOP提供聲明性事務管理;
9, Spring為數據存取提供了一個一致的框架,不論是使用JDBC還是O/R mapping的產品(Hibernate,JDO)。
Spring的任務描述:
Spring的主要目的就是使J2EE易用和促進良好的編程習慣。
Spring 不會重新發明輪子,它是讓已有的技術更加易用,比如它沒有底層事務協調處理,但是提供了一個抽象層覆蓋了JTA和任何其他的事物策略。Spring並沒有 和其他的開源項目競爭,不過還是在一些領域有新的方案提供,比如它的web framework,輕量級的IoC容器和AOP框架。
二,Inversion of Control容器
Spring的設計核心是org.springframework.beans包,用來協調JavaBeans的工作。這個包一般不會被用戶直接使用,而是作為其他功能的基礎服務。
下一個高一些的抽象概念是Bean Factory,一個Spring bean factory是一個可以通過名稱來獲取objects的通用工廠,並且管理objects之間的關系。
Bean factories支持兩種對象模式:
Singleton:默認的,最常使用的,對於無狀態的對象是一種理想的模式。
Prototype:每次獲取將創建一個獨立的對象,可以讓用戶擁有他們自己的對象。
由於org.springframework.beans.factory.BeanFactory是一個簡單的介面,所以你能夠方便地實現出你自己的BeanFactory,但是很少用戶需要這樣做;常用的BeanFactory定義是:
XmlBeanFactory:解析簡單直觀的定義類和命名對象屬性的XML結構;
ListableBeanFactoryImpl:提供了解析存放在屬性文件中的bean定義的能力;
通 過BeanFactory的概念,Spring成為了一個Inversion of Control容器。IoC背後的概念就是所謂的Hollywood原則:Don』t call me, I 『ll call you。IoC將控制創建的職責從對象的代碼中搬進了框架中,使用IoC容器只需指出組件需要X對象,在運行期容器會提供給它具體的對象。而容器就是通過 查看方法的參數表(例如JavaBean的屬性),或者通過配置源(XML)來得到相應的信息,從而實現向組件提供對象
Spring ApplicationContext是BeanFactory的子介面,為下列東西提供支持:
信息查找,支持國際化
事件機制,允許發布應用程序以及可選的注冊已接受到事件
可移植的文件和資源訪問
三,JDBC抽象和數據訪問異常層次
JDBC提供了不錯的資料庫抽象,但是也有痛苦的地方:
需要大量的錯誤處理代碼來確保ResultSet,Statement,Connection在使用後關閉;
沒有異常的層次,使用SQLException來響應所有的錯誤,並不知道具體錯在哪裡。
Spring用兩種方法解決這些問題:
通過API把冗長易出錯的異常處理代碼從程序轉移到框架中,框架處理所有異常,而程序代碼集中精力進行SQL和處理結果上;
為要處理SQLException的程序代碼提供有意義的異常層次。當Spring第一次從數據源取得一個連接時,它檢查元數據以確定資料庫,隨後它使用這些信息把SQLException映射為自己的異常層次中的響應的異常,是你可以和有意義的異常打交道。
Spring提供兩層JDBC API,第一個在org.springframework.jdbc.core包中,使用回調機制移動控制權從程序轉移到了框架中,這是一種不同的Inversion of Control。
在org.springframework.jdbc.object 包中是對JDBC的更高層次的抽象。這是建立在核心的JDBC回調功能基礎之上的,但是提供了一個能夠對RDBMS操作的API,在這個API中無論是查 詢,更新或是存儲過程,都是用Java對象來建模。這組API受到了JDO查詢API的影響,非常直接而且有用。
Spring數據訪問異常層次是基於unchecked exception的,這樣開發者可以自己決定是否來捕捉這些異常從而恢復。
Spring JDBC對你帶來的好處:
你不必像JDBC那樣寫finally;
你需要編寫的代碼變少了;
你不必鑽研RDBMS文檔去解決理解,一個因為錯誤的列名而返回的詭異錯誤碼;
不管你使用何種持久化技術,你都可以方便地實現DAO模式,讓業務代碼不依賴於任何特定的數據訪問API。
四,O/R mapping集成
Spring提供了對Hibernate 2.x和JDO的集成支持,尤其是對Hibernate的集成。
為什麼要使用Hibernate+Spring,而不是直接使用Hibernate呢?
1, 用Hibernate的代碼通常需要為了效率和適當的事務處理而使用相同的Session對象;Spring通過在代碼層上使用顯式的template包 裝類或者使用聲明式的,AOP的方法攔截(interceptor)方式兩種方案,使得能夠很容易透明地創建和綁定Session到當前的線程。
2, 資源管理,Spring的應用程序context能夠處理Hibernate SessionFactories的位置和配置,JDBC數據源和其他的相關資源;使得易於管理和改變。
3, 集成的事務管理 Spring讓你能夠把你的Hibernate代碼包裝起來,通過2種方式:在代碼層上使用顯式的template包裝類,或者使用聲明式的,AOP的方法攔截(interceptor)。
4, Spring能夠包裝Hibernate異常,把它們從私有的,checked異常轉換為一套抽象的運行時異常;使得你能夠在任何你需要的地方捕捉和處理異常,並且JDBC異常也被轉換到相同的層次中,意味著你能在一致的編程模型中對JDBC執行相同的操作。
5, 為了避免和廠商綁定 Hibernate強大,靈活,免費,當時仍然使用私有的API;Spring對Hibernate的事務和異常的抽象,使你很容易將Hibernate -specific代碼隔離開你的應用程序部分,而不會影響Hibernate的強大功能。
6, 測試簡單 Spring的IoC使它很容易改變Hibernate session factories的位置,數據源,事務管理和映射對象執行,這使得很容易隔離和測試每一塊持久關系代碼。
五,事務管理
JTA使一個直接用起來很笨重的API,許多J2EE開發者感到EJB CMT使對於事務管理的唯一合理的選擇。
Spring提供了它對事務管理的抽象,提供了:
1, 通過類似於JdbcTemplate的回調模板編程管理事務,比起直接用JTA容易多;
2, 類似於EJB CMT的聲明式事務管理,但不需要EJB容器;
六,AOP
Spring的AOP支持的首要目標是要給POJOs提供J2EE服務,而且它有能夠在應用伺服器之間移植的優勢,Spring AOP支持method interception,關鍵概念包括:
Interception:自定義行為能夠在對介面和類的調用之前之後插入;
Introction:指定advice會導致對象實現額外的介面,混亂了繼承;
Spring使用動態代理實現AOP或者在運行時使用CGLIB生成位元組碼(這是的能夠代理類)。兩種方法都能夠在任何應用服務其中使用。
Spring使實現了AOP Alliance介面的AOP框架(在學習AOP中介紹過)。
Spring AOP最常見的應用使聲明式事務管理,這是基於前面描述的TransactionTemplate抽象上的,並且可以給任何POJO提供聲明式事務管理。
Spring的聲明式事務管理類似於EJB CMT,但在以下方面不同:
l 事務管理能夠應用於任何POJO;
l 通過使用Spring的事務API能夠在事務性POJO中實現編程回掉。為此我們提供靜態的方法,使用ThreadLocal變數,因而不需要你傳遞EJBContext這樣的對象確保回滾;
l 你可以聲明式地定義「回滾規則」;
l 事務管理不綁定於JTA。
當然你還可以使用Spring AOP實現程序特有的aspects。
請對以上恢復出來的文字進行修改後提交
七,MVC web框架
Spring的MVC model類似於Struts。在多線程服務對象這點上,Spring的Controller類似於Struts Action,只有一個實例處理所有客戶請求。
Spring MVC比起Struts的優點:
1, Spring在Controller, JavaBean, model和views提供了一個非常清晰的劃分;
2, Spring的MVC是非常靈活的。不像Struts強制你繼承它的Action和Form對象,Spring MVC完全是基於介面的;
3, Spring MVC是真正的view無關的。你不會被強制使用JSP
4, 和其他對象一樣,Spring的Controller是通過IoC配置的。使它們易於測試;
5, Web層變成了業務對象層上的薄薄一層
八,EJB相關
實現EJB:
如果你選擇使用EJB,Spring能在EJB實現和客戶端訪問EJB兩方面都提供很大的好處。
Spring為session bean和message drive bean提供了方便的超類,使得通過自動載入基於包含在EJB jar文件中的XML文檔BeanFactory讓這變得很容易。
感覺不是很有用的樣子。
使用EJB:
許多EJB程序使用Service Locator和Business Delegate模式,這些比在客戶代碼中使用JDNI查找強多了,但是還是有顯著的缺點:
l 使用EJB的典型代碼依賴Service Locator或者Business Delegate singletons,難於測試;
l 在Service Locator模式沒有使用Business Delegate的情況下,程序代碼還要在EJB home重調用create()方法,並且可能導致異常,代碼依然綁定在EJB API上;
l 實現Business Delegate模式通常導致顯著的代碼重復;
我們只需要給需要EJB的Bean定義一個組件,在XML中指定它的jndi name,interface,Spring AOP框架會幫你為EJB創建一個代理,實現了業務方法的介面,緩存EJBHome,代理JNDI查找,調用響應的業務方法。
從而使你的web層代碼不依賴於EJB的使用,如果你要使用POJO或其他object代替EJB引用,你只需要改動組件定義xml,而不影響代碼。
親,我的回答你滿意嗎?如果滿意就請右上角採納,如果不滿意,你可以繼續問我哦
C. 什麼是spring
1.1.1 Spring是什麼
Spring是一個開源的輕量級Java SE(Java 標准版本)/Java EE(Java
企業版本)開發應用框架,其目的是用於簡化企業級應用程序開發。應用程序是由一組相互協作的對象組成。而在傳統應用程序開發中,一個完整的應用是由一組相互協作的對象組成。所以開發一個應用除了要開發業務邏輯之外,最多的是關注如何使這些對象協作來完成所需功能,而且要低耦合、高內聚。業務邏輯開發是不可避免的,那如果有個框架出來幫我們來創建對象及管理這些對象之間的依賴關系。可能有人說了,比如「抽象工廠、工廠方法設計模式」不也可以幫我們創建對象,「生成器模式」幫我們處理對象間的依賴關系,不也能完成這些功能嗎?可是這些又需要我們創建另一些工廠類、生成器類,我們又要而外管理這些類,增加了我們的負擔,如果能有種通過配置方式來創建對象,管理對象之間依賴關系,我們不需要通過工廠和生成器來創建及管理對象之間的依賴關系,這樣我們是不是減少了許多工作,加速了開發,能節省出很多時間來干其他事。Spring框架剛出來時主要就是來完成這個功能。
Spring框架除了幫我們管理對象及其依賴關系,還提供像通用日誌記錄、性能統計、安全控制、異常處理等面向切面的能力,還能幫我管理最頭疼的資料庫事務,本身提供了一套簡單的JDBC訪問實現,提供與第三方數據訪問框架集成(如Hibernate、JPA),與各種Java
EE技術整合(如Java Mail、任務調度等等),提供一套自己的web層框架Spring
MVC、而且還能非常簡單的與第三方web框架集成。從這里我們可以認為Spring是一個超級粘合平台,除了自己提供功能外,還提供粘合其他技術和框架的能力,從而使我們可以更自由的選擇到底使用什麼技術進行開發。而且不管是JAVA
SE(C/S架構)應用程序還是JAVA EE(B/S架構)應用程序都可以使用這個平台進行開發。讓我們來深入看一下Spring到底能幫我們做些什麼?
1.1.2 Spring能幫我們做什麼
Spring除了不能幫我們寫業務邏輯,其餘的幾乎什麼都能幫助我們簡化開發:
一、傳統程序開發,創建對象及組裝對象間依賴關系由我們在程序內部進行控制,這樣會加大各個對象間的耦合,如果我們要修改對象間的依賴關系就必須修改源代碼,重新編譯、部署;而如果採用Spring,則由Spring根據配置文件來進行創建及組裝對象間依賴關系,只需要改配置文件即可,無需重新編譯。所以,Spring能幫我們根據配置文件創建及組裝對象之間的依賴關系。
二、當我們要進行一些日誌記錄、許可權控制、性能統計等時,在傳統應用程序當中我們可能在需要的對象或方法中進行,而且比如許可權控制、性能統計大部分是重復的,這樣代碼中就存在大量重復代碼,即使有人說我把通用部分提取出來,那必然存在調用還是存在重復,像性能統計我們可能只是在必要時才進行,在診斷完畢後要刪除這些代碼;還有日誌記錄,比如記錄一些方法訪問日誌、數據訪問日誌等等,這些都會滲透到各個要訪問方法中;還有許可權控制,必須在方法執行開始進行審核,想想這些是多麼可怕而且是多麼無聊的工作。如果採用Spring,這些日誌記錄、許可權控制、性能統計從業務邏輯中分離出來,通過Spring支持的面向切面編程,在需要這些功能的地方動態添加這些功能,無需滲透到各個需要的方法或對象中;有人可能說了,我們可以使用「代理設計模式」或「包裝器設計模式」,你可以使用這些,但還是需要通過編程方式來創建代理對象,還是要耦合這些代理對象,而採用Spring
面向切面編程能提供一種更好的方式來完成上述功能,一般通過配置方式,而且不需要在現有代碼中添加任何額外代碼,現有代碼專注業務邏輯。所以,Spring
面向切面編程能幫助我們無耦合的實現日誌記錄,性能統計,安全控制。
三、在傳統應用程序當中,我們如何來完成資料庫事務管理?需要一系列「獲取連接,執行SQL,提交或回滾事務,關閉連接」,而且還要保證在最後一定要關閉連接,多麼可怕的事情,而且也很無聊;如果採用Spring,我們只需獲取連接,執行SQL,其他的都交給Spring來管理了,簡單吧。所以,Spring能非常簡單的幫我們管理資料庫事務。
四、Spring還提供了與第三方數據訪問框架(如Hibernate、JPA)無縫集成,而且自己也提供了一套JDBC訪問模板,來方便資料庫訪問。
五、Spring還提供與第三方Web(如Struts、JSF)框架無縫集成,而且自己也提供了一套Spring MVC框架,來方便web層搭建。
六、Spring能方便的與Java EE(如Java Mail、任務調度)整合,與更多技術整合(比如緩存框架)。
Spring能幫我們做這么多事情,提供這么多功能和與那麼多主流技術整合,而且是幫我們做了開發中比較頭疼和困難的事情,那可能有人會問,難道只有Spring這一個框架,沒有其他選擇?當然有,比如EJB需要依賴應用伺服器、開發效率低、在開發中小型項目是宰雞拿牛刀,雖然發展到現在EJB比較好用了,但還是比較笨重還需要依賴應用伺服器等。那為何需要使用Spring,而不是其他框架呢?讓我們接著往下看。
1.1.3 為何需要Spring
一 首先闡述幾個概念
1、應用程序:是能完成我們所需要功能的成品,比如購物網站、OA系統。
2、框架:是能完成一定功能的半成品,比如我們可以使用框架進行購物網站開發;框架做一部分功能,我們自己做一部分功能,這樣應用程序就創建出來了。而且框架規定了你在開發應用程序時的整體架構,提供了一些基礎功能,還規定了類和對象的如何創建、如何協作等,從而簡化我們開發,讓我們專注於業務邏輯開發。
3、非侵入式設計:從框架角度可以這樣理解,無需繼承框架提供的類,這種設計就可以看作是非侵入式設計,如果繼承了這些框架類,就是侵入設計,如果以後想更換框架之前寫過的代碼幾乎無法重用,如果非侵入式設計則之前寫過的代碼仍然可以繼續使用。
4、輕量級及重量級:輕量級是相對於重量級而言的,輕量級一般就是非入侵性的、所依賴的東西非常少、資源佔用非常少、部署簡單等等,其實就是比較容易使用,而重量級正好相反。
5、POJO:POJO(Plain Old Java
Objects)簡單的Java對象,它可以包含業務邏輯或持久化邏輯,但不擔當任何特殊角色且不繼承或不實現任何其它Java框架的類或介面。
6、容器:在日常生活中容器就是一種盛放東西的器具,從程序設計角度看就是裝對象的的對象,因為存在放入、拿出等操作,所以容器還要管理對象的生命周期。
7、控制反轉:即Inversion of Control,縮寫為IoC,控制反轉還有一個名字叫做依賴注入(Dependency
Injection),就是由容器控製程序之間的關系,而非傳統實現中,由程序代碼直接操控。
8、Bean:一般指容器管理對象,在Spring中指Spring IoC容器管理對象。
二
為什麼需要Spring及Spring的優點
●
非常輕量級的容器:以集中的、自動化的方式進行應用程序對象創建和裝配,負責對象創建和裝配,管理對象生命周期,能組合成復雜的應用程序。Spring容器是非侵入式的(不需要依賴任何Spring特定類),而且完全採用POJOs進行開發,使應用程序更容易測試、更容易管理。而且核心JAR包非常小,Spring3.0.5不到1M,而且不需要依賴任何應用伺服器,可以部署在任何環境(Java
SE或Java EE)。
● AOP:AOP是Aspect Oriented
Programming的縮寫,意思是面向切面編程,提供從另一個角度來考慮程序結構以完善面向對象編程(相對於OOP),即可以通過在編譯期間、裝載期間或運行期間實現在不修改源代碼的情況下給程序動態添加功能的一種技術。通俗點說就是把可重用的功能提取出來,然後將這些通用功能在合適的時候織入到應用程序中;比如安全,日記記錄,這些都是通用的功能,我們可以把它們提取出來,然後在程序執行的合適地方織入這些代碼並執行它們,從而完成需要的功能並復用了這些功能。
●
簡單的資料庫事務管理:在使用資料庫的應用程序當中,自己管理資料庫事務是一項很讓人頭疼的事,而且很容易出現錯誤,Spring支持可插入的事務管理支持,而且無需JEE環境支持,通過Spring管理事務可以把我們從事務管理中解放出來來專注業務邏輯。
●
JDBC抽象及ORM框架支持:Spring使JDBC更加容易使用;提供DAO(數據訪問對象)支持,非常方便集成第三方ORM框架,比如Hibernate等;並且完全支持Spring事務和使用Spring提供的一致的異常體系。
● 靈活的Web層支持:Spring本身提供一套非常強大的MVC框架,而且可以非常容易的與第三方MVC框架集成,比如Struts等。
● 簡化各種技術集成:提供對Java Mail、任務調度、JMX、JMS、JNDI、EJB、動態語言、遠程訪問、Web Service等的集成。
Spring能幫助我們簡化應用程序開發,幫助我們創建和組裝對象,為我們管理事務,簡單的MVC框架,可以把Spring看作是一個超級粘合平台,能把很多技術整合在一起,形成一個整體,使系統結構更優良、性能更出眾,從而加速我們程序開發,有如上優點,我們沒有理由不考慮使用它。
1.1.4 如何學好Spring
要學好Spring,首先要明確Spring是個什麼東西,能幫我們做些什麼事情,知道了這些然後做個簡單的例子,這樣就基本知道怎麼使用Spring了。Spring核心是IoC容器,所以一定要透徹理解什麼是IoC容器,以及如何配置及使用容器,其他所有技術都是基於容器實現的;理解好IoC後,接下來是面向切面編程,首先還是明確概念,基本配置,最後是實現原理,接下來就是資料庫事務管理,其實Spring管理事務是通過面向切面編程實現的,所以基礎很重要,IoC容器和面向切面編程搞定後,其餘都是基於這倆東西的實現,學起來就更加輕鬆了。要學好Spring不能急,一定要把基礎打牢,基礎牢固了,這就是磨刀不誤砍柴工。
1.2 Spring基礎
1.2.1 Spring架構圖
圖 1-1 Spring架構圖
核心容器:包括Core、Beans、Context、EL模塊。
●
Core模塊:封裝了框架依賴的最底層部分,包括資源訪問、類型轉換及一些常用工具類。
●
Beans模塊:提供了框架的基礎部分,包括反轉控制和依賴注入。其中Bean
Factory是容器核心,本質是「工廠設計模式」的實現,而且無需編程實現「單例設計模式」,單例完全由容器控制,而且提倡面向介面編程,而非面向實現編程;所有應用程序對象及對象間關系由框架管理,從而真正把你從程序邏輯中把維護對象之間的依賴關系提取出來,所有這些依賴關系都由BeanFactory來維護。
● Context模塊:以Core和Beans為基礎,集成Beans模塊功能並添加資源綁定、數據驗證、國際化、Java
EE支持、容器生命周期、事件傳播等;核心介面是ApplicationContext。
●
EL模塊:提供強大的表達式語言支持,支持訪問和修改屬性值,方法調用,支持訪問及修改數組、容器和索引器,命名變數,支持算數和邏輯運算,支持從Spring
容器獲取Bean,它也支持列表投影、選擇和一般的列表聚合等。
AOP、Aspects模塊:
● AOP模塊:Spring
AOP模塊提供了符合 AOP Alliance規范的面向方面的編程(aspect-oriented
programming)實現,提供比如日誌記錄、許可權控制、性能統計等通用功能和業務邏輯分離的技術,並且能動態的把這些功能添加到需要的代碼中;這樣各專其職,降低業務邏輯和通用功能的耦合。
● Aspects模塊:提供了對AspectJ的集成,AspectJ提供了比Spring ASP更強大的功能。
數據訪問/集成模塊:該模塊包括了JDBC、ORM、OXM、JMS和事務管理。
●
事務模塊:該模塊用於Spring管理事務,只要是Spring管理對象都能得到Spring管理事務的好處,無需在代碼中進行事務控制了,而且支持編程和聲明性的事物管理。
●
JDBC模塊:提供了一個JBDC的樣例模板,使用這些模板能消除傳統冗長的JDBC編碼還有必須的事務控制,而且能享受到Spring管理事務的好處。
●
ORM模塊:提供與流行的「對象-關系」映射框架的無縫集成,包括Hibernate、JPA、Ibatiss等。而且可以使用Spring事務管理,無需額外控制事務。
●
OXM模塊:提供了一個對Object/XML映射實現,將java對象映射成XML數據,或者將XML數據映射成java對象,Object/XML映射實現包括JAXB、Castor、XMLBeans和XStream。
● JMS模塊:用於JMS(Java Messaging Service),提供一套
「消息生產者、消息消費者」模板用於更加簡單的使用JMS,JMS用於用於在兩個應用程序之間,或分布式系統中發送消息,進行非同步通信。
●
Web/Remoting模塊:Web/Remoting模塊包含了Web、Web-Servlet、Web-Struts、Web-Porlet模塊。
● Web模塊:提供了基礎的web功能。例如多文件上傳、集成IoC容器、遠程過程訪問(RMI、Hessian、Burlap)以及Web
Service支持,並提供一個RestTemplate類來提供方便的Restful services訪問。
●
Web-Servlet模塊:提供了一個Spring MVC Web框架實現。Spring
MVC框架提供了基於註解的請求資源注入、更簡單的數據綁定、數據驗證等及一套非常易用的JSP標簽,完全無縫與Spring其他技術協作。
●
Web-Struts模塊:提供了與Struts無縫集成,Struts1.x 和Struts2.x都支持
Test模塊:
Spring支持Junit和TestNG測試框架,而且還額外提供了一些基於Spring的測試功能,比如在測試Web框架時,模擬Http請求的功能。
1.2.2 典型應用場景
Spring可以應用到許多場景,從最簡單的標准Java
SE程序到企業級應用程序都能使用Spring來構建。以下介紹幾個比較流行的應用場景:
● 典型Web應用程序應用場景:
圖1-2 web應用程序應用場景
在Web應用程序應用場景中,典型的三層架構:數據模型層實現域對象;數據訪問層實現數據訪問;邏輯層實現業務邏輯;web層提供頁面展示;所有這些層組件都由Spring進行管理,享受到Spring事務管理、AOP等好處,而且請求唯一入口就是DispachterServlet,它通過把請求映射為相應web層組件來實現相應請求功能。
● 遠程訪問應用場景:
Spring能非常方便的提供暴露RMI服務,遠程訪問服務如Hessian、Burlap等,實現非常簡單只需通過在Spring中配置相應的地址及需要暴露的服務即可輕松實現,後邊會有介紹;
● EJB應用場景:
Spring也可以與EJB輕松集成,後邊會詳細介紹。
D. Spring是什麼意思,可以回答我嗎
Spring的意思:
1、春天、春季。
2、泉水、小溪。
3、彈性、跳躍。
4、Spring在計算機中是指一個開源框架。
Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業應用開發的復雜性而創建的。框架的主要優勢之一就是其分層架構,分層架構允許使用者選擇使用哪一個組件,同時為 J2EE 應用程序開發提供集成的框架。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。
E. spring中文什麼意思
spring [sprɪŋ]
n. 春天, 跳躍,
彈簧
v. 跳, 躍; 飛快地行動; 彈起, 反彈,
彈開; 突然出現, 涌現; 使彈起, 使彈開; 突然提出; 使彈成某種狀況; 使裂開
adj. 春天的
F. spring 是什麼意思
意思如下:
Spring是一個英文單名詞、形容詞、及物動詞、不及物動詞,作名詞時翻譯為「春天;彈簧;泉水;活力;跳躍,人名;(德)施普林;(英、芬、瑞典)斯普林」。
作形容詞時翻譯為「春天的」,作及物動詞時翻譯 為「使跳起;使爆炸;突然提出;使彈開」,作不及物動詞時翻譯為「生長;湧出;躍出;裂開」。
短語搭配
Leaf Spring 鋼板彈簧 ; 葉片彈簧 ; [機] 板彈簧 ; [機] 片簧。
Early Spring 早春圖 ; 早春 ; 早春二月 ; 煙花三月。
Spring rolls 春卷 ; 脆皮春卷 ; 第三道春卷 ; 秋卷。
Silent Spring 寂靜的春天 ; 沉寂的春天 ; 無聲的春天 ; 沉靜的春天。
Air Spring [機] 空氣彈簧 ; 氣墊 ; 空翻 ; 春秋航空。
Spring Water 流水 ; 礦泉水 ; 春泉 ; [地理] [水文] 泉水。
spring scale [計量] 彈簧秤 ; 彈簧稱。
Spring Subway 開往春天的地鐵 ; 開往春天 ; 哈瑞猴特 ; 伊顏塵。
spring pin [機] 彈簧銷 ; 彈簧梢 ; 彈性銷 ; 鋼板彈簧銷。
G. spring是什麼意思
spring[英][sprɪŋ][美][sprɪŋ]
n.春季; 泉水,小溪; 彈簧,彈性; 跳躍;
vi.跳,躍; 突然發出或出現; 發源; 劈開,裂開;
vt.突然跳出; 跳過; 使開裂;
adj.春天的; 彈簧的,有彈性的;
第三人稱單數:springs過去分詞:sprung復數:springs現在進行時:springing過去式:sprang
易混淆單詞:SPRINGSpring
例句:
1.
Does the poem make you think of spring?
這首詩有沒有讓你想到春天?
2.
Commodity prices have fallen sharply from their spring highs.
大宗商品價格已經從春季的高點大幅回落
H. 英文spring是什麼漢語意思
spring 是多義詞
〔名詞〕春天;泉水,小溪;彈簧
〔動詞〕跳,躍,蹦;突然發出或出現
I. 「spring」是什麼意思
1、春天。這是最常用的含義。美國伊利諾伊州的首府叫Springfield,有時被翻譯成「斯普林菲爾德」,有時又被翻譯成「春田市」。
2、泉水。農夫山泉的英文名:NONGFU SPRING。
在這種解釋里,雖然water是不可數名詞,但是spring卻是可數的。a spring,一汪清泉;溫泉,hot springs。類似的例子還有tear,眼淚雖然是液體,但卻是可數名詞,所以我們常常看到的是tears。
3、彈簧。可能在日常生活中這一層含義接觸不多。但spring board(跳板)這個片語卻不少見。既可以是跳水比賽的專業術語,又可以是「跳板」的比喻說法。比如:
The college debating society was a natural springboard for her career in politics.
大學里的辯論社自然成了她從政的跳板。
江浙方言里,有一種「思必靈」鎖。據說這里的「思必靈」對應的就是spring,意思是彈簧鎖。
4、單詞offspring的含義和以上提到過的又沒有了關聯,其含義是「子孫後代」,單復數同形。
Their offspring are all very clever. 他們的後代都很聰明。
常用短語
源自:《新世紀英漢大詞典》Collins外研社
1、to spring to your feet突然跳起來
2、to spring to attention迅速立正
3、to spring into action立刻行動
4、to spring into life突然活躍起來
5、to spring open彈開
6、to spring from sth源於某事物;來自於某事物
7、to spring sth on sb突然告訴某人某事
8、to spring a leak突然破裂;突然漏水
9、to walk with a spring in your step步子輕快地走
10、in spring在春天;在春季
11、in the spring在那個春天;在那個春季
12、spring term春季學期