spring

spring

由Rod Johnson創建的一個開源框架
Spring是一個開源框架,Spring是于2003年興起的一個輕量級的Java開發框架,由RodJohnson在其着作ExpertOne-On-OneJ2EEDevelopmentandDesign中闡述的部分理念和原型衍生而來。它是為了解決企業應用開發的複雜性而創建的。框架的主要優勢之一就是其分層架構,分層架構允許使用者選擇使用哪一個組件,同時為J2EE應用程序開發提供集成的框架。Spring使用基本的JavaBean來完成以前隻可能由EJB完成的事情。然而,Spring的用途不僅限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何Java應用都可以從Spring中受益。Spring的核心是控制反轉(IoC)和面向切面(AOP)。簡單來說,Spring是一個分層的JavaSE/EEfull-stack(一站式)輕量級開源框架。[1]
    中文名:spring開源框架 外文名:spring 别名: 目的:解決企業應用開發的複雜性 作品名稱:Spring 功能:使用基本的JavaBean代替EJB 作品出處:《夏天最後的遺囑》 範圍:任何Java應用 文學體裁:詩歌 作者:托馬斯·納什

基本概念

漢語釋義

spring:春天、彈簧、跳躍和泉眼

技術術語

Spring也表示是一個開源框架,是為了解決企業應用程序開發複雜性由RodJohnson創建的。

平台術語

Spring并不是Java所特有的,它也應用于.NET平台。而且得到了很好的發展!

SpringDOTNET是一個關注于.NET企業應用開發的應用程序框架。它能夠提供寬廣範圍的功能,例如依賴注入、面向方面編程(AOP)、數據訪問抽象,以及ASPDOTNET集成等。基于java的spring框架的核心概念和價值已被應用到.NET。SpringDOTNET1.0包含一個完全功能的依賴注入容器和AOP庫。後續的發布将包含對ASPDOTNET、Remoting和數據訪問的支持。

研究源代碼的步驟

Spring确實使你能通過最簡單可行的解決辦法來解決你的問題。而這是有有很大價值的。同時他的源代碼的設計理念也受到很多程序員的追捧,簡潔,易用.可是從哪着手研究Spring卻是很多新手頭疼的地方,下面的參考資料将帶領大家慢慢的深入解析Spring

1Spring中的事務處理

2ioc容器在Web容器中的啟動

3SpringJDBC

4SpringMVC

5SpringAOP獲取Proxy

6Spring聲明式事務處理

7SpringAOP中對攔截器調用的實現

8Spring驅動Hibernate的實現

9SpringAcegi框架鑒權的實現

IOC和AOP

控制反轉模式(也稱作依賴性注入)的基本概念是:不創建對象,但是描述創建它們的方式。在代碼中不直接與對象和服務連接,但在配置文件中描述哪一個組件需要哪一項服務。容器(在Spring框架中是IOC容器)負責将這些聯系在一起。在典型的IOC場景中,容器創建了所有對象,并設置必要的屬性将它們連接在一起,決定什麼時間調用方法。下表列出了IOC的一個實現模式。

類型1

服務需要實現專門的接口,通過接口,由對象提供這些服務,可以從對象查詢依賴性(例如,需要的附加服務)【接口注入】。

類型2

通過JavaBean的屬性(例如setter方法)分配依賴性【setter方法注入】。

類型3

依賴性以構造函數的形式提供,不以JavaBean屬性的形式公開【構造器注入】。

Spring框架的IOC容器采用類型2和類型3實現。

面向方面的編程,即AOP,是一種編程技術,它允許程序員對橫切關注點或橫切典型的職責分界線的行為(例如日志和事務管理)進行模塊化。AOP的核心構造是方面,它将那些影響多個類的行為封裝到可重用的模塊中。

AOP和IOC是補充性的技術,它們都運用模塊化方式解決企業應用程序開發中的複雜問題。在典型的面向對象開發方式中,可能要将日志記錄語句放在所有方法和Java類中才能實現日志功能。在AOP方式中,可以反過來将日志服務模塊化,并以聲明的方式将它們應用到需要日志的組件上。當然,優勢就是Java類不需要知道日志服務的存在,也不需要考慮相關的代碼。所以,用SpringAOP編寫的應用程序代碼是松散耦合的。

AOP的功能完全集成到了Spring事務管理、日志和其他各種特性的上下文中。

AOP編程方面,Spring提供了很多特性,例如PointCut,Advice,Advisor,粗略來說就是事務管理、日志和其他各種特性的切入地點。

IOC容器

Spring設計的核心是org.springframework.beans包,它的設計目标是與JavaBean組件一起使用。這個包通常不是由用戶直接使用,而是由服務器将其用作其他多數功能的底層中介。下一個最高級抽象是BeanFactory接口,它是工廠設計模式的實現,允許通過名稱創建和檢索對象。BeanFactory也可以管理對象之間的關系。

BeanFactory支持兩個對象模型。

1、單态模型提供了具有特定名稱的對象的共享實例,可以在查詢時對其進行檢索。Singleton是默認的也是最常用的對象模型。對于無狀态服務對象很理想。

2、原型模型确保每次檢索都會創建單獨的對象。在每個用戶都需要自己的對象時,原型模型最适合。

bean工廠的概念是Spring作為IOC容器的基礎。IOC将處理事情的責任從應用程序代碼轉移到框架。

上一篇:django

下一篇:緊急避孕法

相關詞條

相關搜索

其它詞條