第一章、Spring入門

第一章、Spring入門

一、Spring特點

(1)IOC解耦使用IOC機制避免硬編碼造成程序耦合

​ Spring就是一個大工廠,可以將所有對象創建和依賴關係維護,交給Spring管理

(2)AOP:Aspect Orentied Programing 面向切面編程

​ Spring提供面向切面編程,可以方便的實現對程序進行權限攔截、運行監控等功能

(3)聲明式事務管理

​ 只需要通過配置就可以完成對事務的管理,而無需手動編程

(4)對JDBC進行封裝,更加靈活操作數據庫

(5)提供MVC設計模式:Spring MVC

(6)提供文件上傳,定時器等工具類

(7)對其他框架的支持(集成其他框架)

​ Spring不排斥各種優秀的開源框架,其內部提供了對各種優秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持

二、Spring框架結構

在這裏插入圖片描述- Data Access/Integration層包含有JDBC、ORM、OXM、JMS和Transaction模塊。

  • Web層包含了Web、Web-Servlet、WebSocket、Web-Porlet模塊。

  • AOP模塊提供了一個符合AOP聯盟標準的面向切面編程的實現。

  • Core Container(核心容器):包含有Beans、Core、Context和SpEL模塊。

  • Test模塊支持使用JUnit和TestNG對Spring組件進行測試。

三、Spring框架的功能總覽

核心功能:

(1)Spring容器與bean的生命週期管理

在這裏插入圖片描述

在這裏插入圖片描述

(2)AOP

將輔助代碼在不修改原來代碼基礎上織入到原始對象的代碼中,對原來的代碼增強.
在這裏插入圖片描述

(3)數據訪問和集成

1.事務管理

​ 1.編程式事務

​ 2.無侵入性聲明式事務

2.JDBCTemplate支持
3.DAO支持
4.ORM框架支持

​ Hibernate JPA MyBatis

(4)Web

​ SpringMVC

​ 視圖技術

​ 其他WEB框架的集成

(5)外部系統集成

​ WEB Services EJB JMS JMX JCA CCI

​ Email 任務調度 動態語言支持 緩存

四、Spring快速入門

(1)引入Spring maven座標

​ 在pom.xml引入spring-context maven座標

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.0.15.RELEASE</version></dependency>

</dependencies>

(2)編寫Spring核心配置文件

在src/main/resources右鍵-new-other-xml-XML File-next-applicationContext.xml,創建配置文件

名稱:任意,約定:applicationContext.xml

內容:參考spring文檔:spring-framework-5.1.5.RELEASE/docs/spring-framework-reference/core.html#spring-core

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>

​ 在程序中讀取Spring配置文件,通過Spring框架獲得Bean,完成相應操作

(3)HelloWorld 實現

核心包:

​ spring-framework-5.1.5.RELEASE-dist.zip

​ 包結構:org.springframework

Spring核心開發包:

spring-core-5.1.5.RELEASE.jar

​ 包含Spring框架基本的核心工具類,Spring其它組件要都要使用到這個包裏的類,是其它組件的基本核心。

spring-beans-5.1.5.RELEASE.jar

​ 所有應用都要用到的,它包含訪問配置文件、創建和管理bean

​ 以及進行Inversion of Control(IoC) / Dependency Injection(DI)操作相關的所有類

spring-context-5.1.5.RELEASE.jar

​ Spring提供在基礎IoC功能上的擴展服務,此外還提供許多企業級服務的支持,

​ 如郵件服務、任務調度、JNDI定位、EJB集成、遠程訪問、緩存以及各種視圖層框架的封裝等。

spring-expression-5.1.5.RELEASE.jar

​ Spring表達式語言

public class HelloService {
    public String sayHello(String name) {
		return "Hello "+name;
	}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">
	<!--
  	id:bean的名稱,一般約定:類名首字母小寫
  	class:類的全限定名(包名+類名)
  -->
		<bean id="helloService" class="com.tjetc.service.HelloService"></bean>
</beans>
public static void main(String[] args) {
		//實例化Spring容器對象
		ClassPathXmlApplicationContext context = new 	ClassPathXmlApplicationContext("applicationContext.xml");
		//從容器對象拿bean
		HelloService helloService = (HelloService) context.getBean("helloService");
		//調用對象的方法
		String result = helloService.sayHello("李四");
		//打印結果
		System.out.println(result);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章