Spring是一個強大而又“輕量級”的Java開發(fā)框架猛拴,之所以打引號是因為感覺并不是那么輕量。Spring的主要目的在于簡化Java應用開發(fā)退疫,以配置方式代替硬編碼方式的編程强挫,模塊解耦,其架構如下圖所示隆判。包括了
數(shù)據訪問犬庇、
遠程通信、
AOP蜜氨、
核心容器等部分械筛。
Spring的核心主要有三點:
IoC:反轉控制。
反轉控制就是指將控制權由類內部抽離到容器飒炎,由容器類的實例化及動作進行配置管理埋哟。
Dependency-injection:依賴注入
對象的依賴關系由負責協(xié)調系統(tǒng)中各個對象的第三方組件在創(chuàng)建對象時設定。對象不自行創(chuàng)建或管理它們的依賴關系,依賴關系被自動注入到需要它們的對象中赤赊。通過參數(shù)和配置能夠體會出“注入”這個詞在這里有多形象闯狱。依賴注入的最大好處就是松耦合。不需要再類內部去和特定的類進行綁定抛计,而是將一些依賴關系以參數(shù)的形式注入到類內部哄孤。
Aspect Oriented Programming:面向切向編程
在軟件開發(fā)中,分布于應用中多處的功能被稱為橫切關注點吹截。這些橫切關注點往往和業(yè)務邏輯是相分離的瘦陈,將這些橫切關注點與業(yè)務邏輯相分離正式AOP要解決的。AOP編程能夠讓遍布在應用各處的功能分離出來形成可重用的組件波俄。是高內聚低耦合的又一個體現(xiàn)晨逝,將通用實現(xiàn)模塊與核心業(yè)務模塊相分離。
《Spring in Action》閱讀筆記
spring 出現(xiàn)的目的:
原本EJB2種懦铺,如果
其實很多方法不需要捉貌。
依賴注入:
Sping的容器可以分為兩種類型
1. BeanFactory:(org.springframework.beans.factory.BeanFactory接口定義)是最簡答的容器,提供了基本的DI支持冬念。
最常用的BeanFactory實現(xiàn)就是XmlBeanFactory類趁窃,它根據XML文件中的定義加載beans,
該容器從XML文件讀取配置元數(shù)據并用它去創(chuàng)建一個完全配置的系統(tǒng)或應用急前。
2. ApplicationContext應用上下文:(org.springframework.context.ApplicationContext)基于BeanFactory之上構建醒陆,并提供面向應用的服務。
4. ApplicationContext通常的實現(xiàn)
ClassPathXmlApplicationContext:從類路徑下的XML配置文件中加載上下文定義裆针,把應用上下文定義文件當做類資源统求。
FileSystemXmlApplicationContext:讀取文件系統(tǒng)下的XML配置文件并加載上下文定義。
XmlWebApplicationContext:讀取Web應用下的XML配置文件并裝載上下文定義据块。
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
還有使用注解裝配的
AOP:
Spring的JDBC
更加細化的bean生命周期
hibernate