javascript
框架:初识Spring
Spring篇
第一章、Spring簡介
一、Spring的體系結構
1、介紹
Spring有20多個的模塊,這些模塊分布與核心容器(Core Container)、數據訪問/集成(Data Access/Integration)層、Web層、AOP(面向切片的編程)模塊、植入(Instrumentation)模塊、消息(Messaging)傳輸和測驗(Test)模塊。
圖1.1 Spring的體系結構
?
2、核心容器
? Spring的核心框架是其他模塊建立的基礎,由Spring-core、Spring-beans、Spring-context、Spring-context-support和Spring-expression(Spring表達式語言)等模塊組成。
- Spring-core:提供了框架的基本組成部分,包括控制反轉和注冊依賴功能。
- Spring-beans:提供BeanFactory,是工廠模式的一個經典實現,Spring將管理對象稱為Bean。
- Spring-context:提供一個框架式的對象訪問方式,是訪問定義和配置的任何對象的媒介。ApplicationContext接口是Context模塊的焦點。
- Spring-context-support:支持整合第三方庫到Spring的應用程序,特別是用于高速緩存和任務調度的支持
- Spring-expression:提供了強大的表達式語言去支持運行時查詢和操作對象圖。這是對JSP 2.1規范中規定的統一表達式語言(Unified EL)的擴展。該語言支持設置和獲取屬性值、屬性分配、方法調用、訪問數組、集合和索引器的內容、邏輯和算術運算、變量命名以及從Spring的1oC容器中以名稱檢索對象。它還支持列表投影、選擇以及常見的列表聚合。
3、 AOP和Instrumentation
- Spring-aop模塊:提供了一個符合AOP要求的面向切面的編程實現,允許定義方法攔截器和切入點,將代碼按照功能進行分離,以便干凈地解耦。
- Spring-aspects模塊:提供了與AspectJ的集成功能, AspectJ是一個功能強大且成熟的AOP框架
- Spring-instrument模塊:提供了類植入(Instrumentation)支持和類加載器的實現可以在特定的應用服務器中使用。
4、消息
Spring 4.0以后新增了消息(Spring-messaging)模塊,該模塊提供了對消息傳遞體系結構和協議的支持
5、數據訪問/集成
數據訪問/集成層由JDBC, ORM, OXM,JMS和事務模塊組成。
- Spring-jdbc模塊:提供了一個JDBC的抽象層,消除了煩瑣的JDBC編碼和數據庫廠商特有的錯誤代碼解析。
- Spring-orm模塊:為流行的對象關系映射(Object-Relational Mapping) API提供集成層,包括JPA和Hibernate.使用Spring-orm模塊可以將這些O/R映射框架與Spring提供的所有其他功能結合使用,例如聲明式事務管理功能
- Spring-oxm模塊:提供了一個支持對象/XML映射的抽象層實現,例如JAXB、Castor、JiBX和XStream.
- Spring-jms模塊(Java Messaging Service):指Java消息傳遞服務,包含用于生產和使用消息的功能。自Spring 4.1以后,提供了與Spring-messaging模塊的集成。
- Spring-tx模塊(事務模塊):支持用于實現特殊接口和所有POJO (普通Java對象)類的編程和聲明式事務管理,
?
6、Web
- Web層由Spring-web, Spring-webmvc、 Spring-websocket和Portlet模塊組成,
- Spring-web模塊:提供了基本的web開發集成功能,例如多文件上傳功能、使用Servlet監聽器初始化一個loC容器以及Web應用上下文。
- Spring-webmvc模塊:也稱為Web-Servlet模塊,包含用于Web應用程序的Spring?MVC和REST Web Services實現。Spring MVC框架提供了領域模型代碼和Web表單之間的清晰分離,并與Spring Framework的所有其他功能集成,。
- Spring-websocket模塊: Spring 4.0以后新增的模塊,它提供了WebSocket和SockJS的實現
- Portlet模塊:類似于Servlet模塊的功能,提供了Portlet環境下的MVC實現。
7、測試
Spring-test模塊支持使用JUnit或TestNG對Spring組件進行單元測試和集成測試。
?
?二、實踐
第一步、在src的下面建立兩個包,這兩個包分別是dao和test
?
第二步、在dao包中,建立接口文件TestDao
package dao;public interface TestDao {public void sayHello(); }第三步、在dao包中,建立接口實現類TestDaoImpl
package dao;/*** 接口實現類* lin* 2018/11/22*/ public class TestDaoImpl implements TestDao {@Overridepublic void sayHello() {System.out.println("Hello,Spring");} }第四步、右鍵src,創建配置文件applicationContext.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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--將指定類TextDaoImpl配置給Spring,讓Spring創建其實例--><bean id="test" class="dao.TestDaoImpl"/> </beans>?
第五步、創建測試類
在text的包中,創建text文件。
package test;import dao.TestDao; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {public static void main(String[] args) {//初始化Spring容器ApplicationContest,加載配置文件ApplicationContext appCon=new ClassPathXmlApplicationContext("applicationContext.xml");//通過容器獲取test實例TestDao testDao=(TestDao)appCon.getBean("test");//test為配置文件中的idtestDao.sayHello();} }三、總結
實現Spring的基礎步驟
關鍵代碼
//初始化Spring容器ApplicationContest,加載配置文件ApplicationContext appCon=new ClassPathXmlApplicationContext("配置文件【加文件的擴展名】");//通過容器獲取test實例接口名 testDao=(接口名)appCon.getBean("配置文件的自定義id");//接口的方法testDao.sayHello();四、說明:
- 圖1.1 Spring的體系結構在https://blog.csdn.net/cd18333612683/article/details/78312206獲取,如有侵權請聯系。
轉載于:https://www.cnblogs.com/hahayixiao/p/9998974.html
總結
以上是生活随笔為你收集整理的框架:初识Spring的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 12 socket 编程
- 下一篇: 自定义标签入门案例