Spring 是什麼spring
Spring是由Apache開發的一種輕量型Java框架,可以更加便捷使用JavaBean(以前只有EJB才能實現)數據庫
Spring的主要優點:分層架構:express
Spring是一個IOC(DI)和AOP容器框架。編程
這裏須要解釋 什麼是IOC,什麼是AOP設計模式
1.IOC(DI):Inversion of Control 控制反轉
架構
它是一種設計模式:在對象被建立的時候,由一個調控系統內全部對象的外界實體將其依賴的對象的引用傳遞給它。(通俗來說:在A類中調用B類的對象b,能夠直接調用外界new好的對象注入到A類中,避免內部類之間的耦合)而它最多見的方法就是依賴注入(Dependency Injection 簡稱:DI)app
2.AOP: Aspect Oriented Programming 面向切面編程框架
經過預編譯的方式和運行期間動態的管理,實如今不修改源代碼的基礎上給程序添加功能的一種技術,好比將日誌記錄,性能統計等代碼從業務邏輯代碼中劃分出來。在對他們的行爲改變的時候不影響其餘業務邏輯代碼。maven
Spring 開發環境的搭建工具
1.所需jar包:
(1)spring-context:裝載bean的定義並組裝起來。
(2)spring-core:發現,創建並維護bean與bean之間的關係所須要的一系列工具
(3)spring-beans:(Spring中的主角)Spring的依賴注入正是將new出來的對象包裹在bean中注入到程序中的
(4)spring-expression:一個強大表達式解析語言,支持在運行時動態的解析表達式給對象賦值(目前不是很理解)
(5)commons-logging: 提供簡單日誌以及日誌解耦功能(解耦功能暫時也沒有用過)
經過maven工程加載:
1 <dependencies> 2 <dependency> 3 <groupId>org.springframework</groupId> 4 <artifactId>spring-context</artifactId> 5 <version>5.2.0.RELEASE</version> 6 </dependency> 7 <dependency> 8 <groupId>org.springframework</groupId> 9 <artifactId>spring-core</artifactId> 10 <version>5.2.0.RELEASE</version> 11 </dependency> 12 <dependency> 13 <groupId>org.springframework</groupId> 14 <artifactId>spring-beans</artifactId> 15 <version>5.2.0.RELEASE</version> 16 </dependency> 17 <dependency> 18 <groupId>org.springframework</groupId> 19 <artifactId>spring-expression</artifactId> 20 <version>5.2.0.RELEASE</version> 21 </dependency> 22 <dependency> 23 <groupId>commons-logging</groupId> 24 <artifactId>commons-logging</artifactId> 25 <version>1.2</version> 26 </dependency> 27 </dependencies>
2.配置xml文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "> </beans>
Spring的配置文件用於Spring工廠進行 Bean生產,依賴注入以及Bean實例。其中命名爲applicationContext.xml是Spring的默認配置文件,當容器找不到指定的其餘xml文檔時,默認加載這個文件。
解析xml文件中的beans標籤及屬性信息:
(1)beans:整個配置文件的根節點,包含一個或多個bean元素
(2)xmlns: xml namespace當前xml指定的命名空間
(3)xmlns:xsi :指的是xml所要遵循的標籤規範,xmlns的一個屬性
(4)xsi:schemaLocation:指定的命名空間對應的驗證文件,就是xml書寫時須要遵循的語法,用於聲明瞭目標命名空間的模式文檔。xsi的一個屬性。在schemaLocation中的引用都是 成對存在的。
例如:
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
(5)xsd文件: XML Schemas Definition xml的結構定義