如何進行Spring的概念分析

如何進行Spring的概念分析,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為齊齊哈爾企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站建設(shè),齊齊哈爾網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

1.1  Spirng概述

       Spring的締造者:Rod Johnson 悉尼大學(xué)計算機學(xué)士學(xué)位,同時還是音樂學(xué)博士,也許是音樂的細胞賦予了它程序設(shè)計美學(xué)的靈感,讓他成就了Spring的簡約與優(yōu)雅。

       由藝術(shù)美學(xué)轉(zhuǎn)變到程序美學(xué),不止有Spring的締造者,還有前端的三大主流框架之一Vue的締造者(Evan You),Evan You獲得Design & Technology藝術(shù)碩士學(xué)位,可能正是因為這種追求設(shè)計美感的精神,才促進了Vue的誕生。

       2004年3月24日,發(fā)布1.0版本。

1.2  關(guān)于SpringSource

      Rod Johnson在Spring 1.0發(fā)布的時候,就和他的骨干團隊成立了SpringSource公司,以Spring的開源框架為依托,成功開展了很多代表不同技術(shù)領(lǐng)域的子項目。

       2007年5月,SpringSource吸引Benchmark Capital風(fēng)險投資商。

2008年,SpringSource收購G2One(Groovy編程語言),Grails Web,Covalent(為Apache的Tomcat應(yīng)用服務(wù)器提供支持的公司)。

      2009年,SpringSource收購了開源系統(tǒng)檢測廠商Hyperic。Hyperic的核心產(chǎn)品是Hyperic HQ,該產(chǎn)品提供了硬件和操作系統(tǒng)、虛擬機、數(shù)據(jù)庫及應(yīng)用服務(wù)器的可用性檢測。

       2009年8月11日,VMware收購SpringSource公司。

       2012年,Spring 創(chuàng)始人Rod 離開SpringSource和VMware。

       2013年,SpringSource團隊發(fā)布了Spring Framework 4.0版本。

1.3  Spring 帶給我們什么

       EJB的復(fù)雜難學(xué)習(xí),難于測試,因此易于上手,易于開發(fā),易于測試的框架應(yīng)運而生,Spring因此就誕生,取其了EJB的精華。

Spring帶給我們的好處:

1. 方便解耦,簡化開發(fā),提供了IoC容器。

2. AOP編程的支持。

3. 聲明式事務(wù)的支持。

4. 方便程序的測試。

5. 方便集成各種優(yōu)秀框架。

6. 降低Java EE API的使用難度。

7. Spring源碼是經(jīng)典的學(xué)習(xí)案例。

1.4  Spring 體系結(jié)構(gòu)

IoC和AOP是Spring所依賴的根本。主要由以下五個部分組成:

如何進行Spring的概念分析

1. IoC

      Spring核心功能實現(xiàn)IoC的功能,它將類與類之間的依賴從代碼中脫離出來,用配置的方式進行依賴關(guān)系描述,由IoC容器負(fù)責(zé)依賴類之間的創(chuàng)建、拼接、管理、獲取等工作。

      BeanFactory接口是Spring框架的核心接口;

     Context模塊構(gòu)建于核心模塊之上,擴展了BeanFactory的功能;例如,添加了i18n國際化、Bean生命周期控制、框架事件體系、資源加載透明化等多項功能。

      ApplicationContext是Context模塊的核心接口。

2. AOP

      AOP是繼OOP之后,對編程設(shè)計思想影響極大的技術(shù)之一。Java 5.0引入java.lang.instrument,允許在JVM啟動時啟用一個代理類,通過該代理類在運行期修改類的字節(jié)碼,改變一個類的功能,從而實現(xiàn)AOP的功能。

3. 數(shù)據(jù)訪問與集成 

      Spring站在DAO的抽象層面,建立了一套面向DAO層統(tǒng)一的異常體系,同時將各種訪問數(shù)據(jù)的檢查型異常轉(zhuǎn)換為非檢查型異常,為整合各種持久層框架提供基礎(chǔ)。這樣,Spring就建立起了和數(shù)據(jù)形式及訪問技術(shù)無關(guān)的統(tǒng)一的DAO層,借助AOP技術(shù),Spring提供了聲明式事務(wù)的功能。

4. Web及遠程操作

      該模塊建立在Application Context模塊之上,提供了Web應(yīng)用的各種工具類,如通過Listener或Servlet初始化Spring容器,將Spring容器注冊到Web容器中。還提供了面向Web功能,例如FreeMarker,Velocity,還可以整合Struts、WebWork等MVC框架。

5. Web及遠程訪問

    Spring自己提供了一個完整的類似于Struts的MVC框架,稱為SpringMVC,如果不希望使用SpringMVC,那么Spring對Struts、WebWork等MVC框架的整合,可以可以帶來方便,相對于Servlet的MVC,Spring在簡化Portlet的開發(fā)上也做了很多工作。

6. WebSocket

      WebSocket提供了一個在Web應(yīng)用中高效、雙向通信,需要考慮到客戶端和服務(wù)器之間的高頻和低時延消息交換,一般有在線交易、游戲、協(xié)作、數(shù)據(jù)可視化等,此外,Spring在遠程訪問及Web Service上提供了很多著名框架的整合。

1.5  Spring 對Java版本的要求

       Spring4.0 基于 Java 6.0,全面支持Java 8.0。運行Spring 4.0 必須使用Java 6.0以上的版本,推薦使用Java 8.0及以上版本,如果要編譯Spring 4.0,則必須使用Java 8.0.

1.6  Spring 4.0新特性

      全面支持Java SE 8 、Java EE 7,而且向下兼容到Java SE 6 / Java EE 6,并移除過時的類,添加如泛型依賴注入、Lambda表達式、Groovy DSL定義Bean、核心容器增強、Web框架增強、WebSocket模塊的實現(xiàn)、測試增強等功能,全面支持REST風(fēng)格的開發(fā)。

1.6.1  全面支持Java 8.0

1. Java 8.0 新特性

1)Java 8.0 的 Lambda表達式

2)Java 8.0 的時間與日期API

3)重復(fù)注解支持

4)空指針終結(jié)者:Optional<>,有些對象永遠都不會為空,作非空判斷有些多余

1.6.2  核心容器的增強

Spring 4.0支持泛型依賴注入

1. @Autowired

portected BaseDao<M> dao;

2. @Autowired

private Map<String, BaseService> map;

3.  @Lazy 延時注入

4.  @Conditional : 類似于@Profile,一般在多個環(huán)境進行配置切換(開發(fā),生產(chǎn)環(huán)境)

5.  CGLIB代理類增強:在Spring 4.0中,基于CGLIB的代理類不在要求類必須有空參構(gòu)造器

1.6.3  支持用Groovy 定義Bean

Groovy有諸多不足,錯誤提示不友好,學(xué)習(xí)曲線高

1.6.4  Web的增強

@RestController,方便REST開發(fā),同時添加了一個AsyncRestTemplate,支持REST客戶端的異步無阻塞請求

1.6.5  支持WebSocket

雙向通信(在線交易,游戲,協(xié)作,數(shù)據(jù)可視化),瀏覽器IE<10不支持

1.6.6  測試的增強

@Sql @AbstractTransactionalJUnit4SpringContextTests

1.6.7  其他

JCache支持,動態(tài)語言支持,多線程并發(fā)處理支持,增強持久化處理

看完上述內(nèi)容,你們掌握如何進行Spring的概念分析的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站名稱:如何進行Spring的概念分析
網(wǎng)頁URL:http://bm7419.com/article46/gihgeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、網(wǎng)站策劃定制開發(fā)、網(wǎng)站排名定制網(wǎng)站、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化