日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring框架—体系结构

發布時間:2024/4/15 javascript 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring框架—体系结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文作者:CHS007chs

原文地址:Spring核心框架體系結構

上圖是Spring 5的模塊結構圖,而這些組件被分別整合在核心容器(Core Container)、AOP(Aspect Oriented Programming)、設備支持(Instrument)、數據訪問及集成(Data Access/Integratioin)、Web、報文發送(Messaging)、Test等模塊。

1.核心容器

  • spring-core:控制反轉IoC(Inversion of Control)與依賴注入DI(Dependency Injection)的基本實現,控制反轉是種設計思想,即將你設計好的對象交給容器控制,而不是傳統的在你的對象內部直接控制。
  • spring-beans:Bean工廠與bean的裝配,BeanFactory接口使用控制反轉對應用程序的配置、依賴性規范與實際的應用程序代碼進行分離。但是BeanFactory容器實例化后并不會自動實例化Bean,只有當Bean被使用時BeanFactory容器才會對該Bean進行實例化與依賴關系的裝配。
  • spring-context:spring的context上下文,即IoC容器,它擴展了BeanFactory,為它添加了Bean生命周期管理、框架事件體系、資源加載透明化等功能,此外該模塊還提供了很多企業級支持,如遠程訪問、任務調度等。ApplicationContext是該模塊的核心接口,它擴展了BeanFactory,ApplicationContext容器實例化后會自動對所有的單實例Bean進行實例化與依賴關系的裝配,使之處于待用狀態。
  • spring-expression:spring表達式語言,是統計表達式語言(EL)的擴展模塊,可以查詢、管理運行中的對象,同時也方便的可以調用對象方法、操作數組、集合等。最出色的要數函數調用和簡單字符串的模板函數。

2.AOP和設備支持

  • spring-aop:面向切面編程,aop就是在某一個類或方法執行前后打個標記,聲明在執行到這里之前要先執行什么,執行完這里之后要接著執行什么,插入新的執行方法。在Spring中,它是以JVM的動態代理技術為基礎,然后設計一系列AOP橫切實現,比如前置通知、返回通知、異常通知等,同時Pointcut接口來匹配切入點,可以使用現有切入點來設計橫切面,也可以擴展相關方法根據需求進行切入。
  • spring-aspects:集成AspectJ, 主要是為Spring AOOP提供多種AOP實現方法。
  • spring-instrument:提供一些類級的工具支持和ClassLoader級的實現,用于服務器。該模塊是基于JAVA SE中的“java.lang.instrument”進行設計的,應該算是AOP的一個支援模塊,主要作用是在JVM啟用時,生成一個代理類,程序員通過代理類在運行時修改類的字節,從而改變一個類的實現。

3.數據訪問及集成

  • spring-jdbc:jdbc的支持,主要是提供JDBC模板方式、關系數據庫對象化方式、SimpleJdbc方式、事務管理來簡化JDBC編程,主要實現類JdbcTemplate、SimpleJdbcTemplate、NamedParameterJdbcTemplate
  • spring-tx:事務控制,通過它的AOP配置,可以靈活的配置在任何一層,但是在很多的需求和應用,直接使用JDBC事務控制還是有其優勢的。
  • spring-orm:對象關系映射,集成orm框架,主要集成Hibernate、Java Persistence API(JPA)和Java Data Object(JDO)用于資源管理、數據訪問對象(DAO)的實現和事務策略。
  • spring-oxm:對象xml映射,OXM是Object to XML Mapping的縮寫,例如:jaxb, castor xmlbeans,JiBx,XStream等。
  • spring-jms:java消息服務
  • spring-messaging:為Spring框架集成一些基礎的報文發送應用。

4.Web

  • spring-web:提供最基礎的web支持,主要建立在核心容器上,通過Servlet或者Listener來初始化IOC容器,也包括一些與Web相關的支持。
  • spring-webmvc:實現了Spring MVC的Web應用
  • spring-websocket:主要是與Web前端的全雙工通訊協議。
  • spring-webflux:是一個新的非阻塞式Reactive Web框架,可以用來建立異步、非阻塞、事件驅動的服務,并且擴展性非常好。

該圖是Spring 5的包結構,可以從中清楚看出Spring各個模塊之間的依賴關系,所以在學習Spring的源碼時,可以從Spring-core入手,其次是Spring-beans和spring-aop,隨后是spring-context,再其次是spring-tx和spring-orm。因為spring-core依賴了commons-logging,而其他模塊都依賴了spring-core,所以整個spring框架都依賴了commons-logging。

最后歡迎大家訪問我的個人網站:1024s

總結

以上是生活随笔為你收集整理的Spring框架—体系结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。