Spring是2003年興起的一個Java輕量級框架。它是了爲解決企業級開發的複雜性而建立的一個框架。其是一個分層的Java SE/EE Full-Stack(一站式)框架。html
Spring是一個容器,負責管理整個應用中全部的Bean的生命週期,及Bean之間的依賴關係。程序員
Spring的做用就是爲了解耦合,即下降代碼間接耦合度。spring
Spring將應用程序中的代碼根據功能劃分爲了兩類:主業務邏輯與系統級服務。編程
l 主業務邏輯代碼的特色:具備很強的專業領域性,複用性相對較低,代碼間的耦合度相對較高。安全
l 系統級服務,也稱爲交叉業務邏輯,例如,事務管理、日誌管理、安全管理等。其特色:專業領域性不強,複用性高,代碼間的耦合度相對較低。系統級服務,是爲主業務邏輯服務的,其須要交叉(織入)到主業務邏輯代碼中。這樣的話,主業務邏輯與交叉業務邏輯間的耦合度就比較高了。app
Spring針對於以上兩種高耦合度代碼,使用了IoC與AOP兩種技術來下降它們的耦合度。因此,對於Spring的學習重點就是:IoC與AOP。框架
(1)非侵入式編程學習
POJO,Plain Old Java Object測試
(2)容器spa
(3)IoC—控制反轉,A,B
(4)AOP,面向切面
http://spring.io
對於程序員來講,Spring容器就是一個XML配置文件;對於Java代碼來講,Spring容器就是一個對象。這個對象,確定是將這個XML配置文件加載到內存後,造成的對象。
這個XML配置文件約束從Spring框架的以下文件中能夠找到:
\docs\spring-framework-reference\html\xsd-configuration.html
將applicationContext放置到相應位置,修改測試類。
ApplicationContext容器:
應用上下文
當容器被建立時,會自動將容器中全部的Bean建立。
優勢:系統響應速度快。
不足:浪費系統資源。
BeanFactory容器:
當容器被建立時,並不會自動將容器中的任何Bean建立。只有當真正使用該Bean時,纔會由容器建立這個Bean。
優勢:節省系統資源。
不足:相對來講,系統響應速度慢。