Spring-Spring相關術語-01
1.1 什麼是Spring
spring框架是分層的JavaSE/EEfull-stack(一站式)輕量級開源框架。本質是一個容器。
l 分層:JavaEE分層來源JavaEE規範體系結果
l 一站式:spring框架提供表現層、業務層、持久層每層的解決方案,即可以處理項目三層的功能。
但Spring本質是容器,不能處理請求,如果在容器中放置了可以處理請求的對象,Spring就可以處理請求了。Dao層同理,Spring本不具備操作數據庫的能力,如果在Spring容器中放置可以操作數據庫的對象,可以認爲Spring能夠操作數據庫。
l 輕量級:相對於EJB而言
Sun公司提供EJB框架用於解決業務層問題,因爲DEJB非常繁瑣複雜,出現了Spring
1.2 Spring關鍵詞
l IOC:控制反轉
IOC Inverse of Control 反轉控制
以往對象的創建時由開發人員通過調用構造方法來創建;
使用Spring之後,對象的創建不在由開發人員負責,由Spring來負責創建。
對象的創建由開發人員創建反轉給了程序來創建,這就是控制反轉。
l DI:依賴注入
Dependency Injection 依賴注入
DI是指具體的技術
依賴注入技術 ---> 將依賴的對象注入屬性中
依賴注入的實現:
構造方法
set方法
l IOC與DI的關係:
實現IOC必須依賴DI,要想由機器創建對象,必須使用依賴注入技術
l AOP:面向切面編程
l applicationContext接口與BeanFactory接口
applicationContext接口:我們目前使用的接口,Spring的後代容器接口,功能更爲強大;管理對象時,創建容器容器是會將所有容器中的對象創建,在資源較爲充裕的環境使用。
BeanFactory接口:Spring的早期容器接口。Spring容器的第一代接口,功能較爲簡單。管理對象時,容器創建時,不會創建任何容器中的對象,當獲得對象時纔會創建對象。該接口在資源匱乏的環境使用。
1.3 Spring框架的由來
2002年J2SE設計開發編程指南,EJB非常盛行
2004年J2SE開發摒棄EJB,Spring出現爲了解決EJB的複雜性,核心輕量級容器與控制反轉
1.4 Spring框架的優點
l 方便解耦,簡化開發
Spring就是一個大的工廠,可以將所有的對象創建和依賴關係維護,交給Spring管理
l AOP編程支持
Spring提供了面向切面編程,可以方便的實現對程序進行攔截、運行監控等功能
l 聲明式事務的支持
只需要通過配置就可以完成對事務的管理,而無需手動編程
l 方便程序測試
Spring對Junit4支持,可以通過主機方便測試Spring程序
l 方便集成各種優秀框架
Spring不排斥各種有哦秀的開源框架,其內部提供了對各種優秀框架(如Struts2、Hibernate、MyBatis、Quarz等)的直接支持
l 降低JavaEE API的使用難度
Spring對JavaEE開發中非誠難用的一些API(JDBC、JavaMail、遠程調用等),都提供了封裝,使這些API應用難度大大降低。