當前位置:
首頁 > 知識 > spring整體架構

spring整體架構

一 架構劃分

spring的架構可以劃分為以下幾個層次:

1.核心模塊:包括IOC,AOP;

2.中間組件:包括封裝的JavaEE服務,驅動組件如jdbc,事物處理等;

3,上層應用

二 模塊概述

spring的整體架構圖如圖所示:

下面詳細介紹一下各個模塊:

1.spring IOC

此模塊中包含了IOC容器最基本的介面和它的實現,也就是說在此核心包中,不僅提供了BeanFactory這個基本介面,還包括了基於beanfactory進行擴展的一系列介面和實現,例如我們常用的XMLBeanFactory。除此之外,此模塊還包括一系列容器,可以根據不同的應用場景選擇不容的IOC容器。

在應用開發過程中,單純的IOC容器是不能滿足需要的,還需要容器的外圍來提供支持,包括Resource資源的抽象與定位,所以這些也是spring IOC的基本內容。除此之外,spring還設計了IOC的高級形態ApplicationContext應用上下文,如ClassPathXMLApplicationContext。

2.spring AOP

該模塊實現了一個完整的建立AOP代理對象,實現AOP攔截器直到實現各種Advice通知的過程。同時圍繞AOP的曾倩功能,集成了AspectJ作為AOP的一個特定實現,在JVM動態代理/CGLIB的基礎上實現了一個AOP框架作為集成其他模塊的工具,例如聲明式事務處理TransactionProxyFactoryBean就是通過AOP集成到spring的。

3.springMVC

這個模塊以DispatcherServlet為核心,通過對web請求的攔截,分發,處理和ModelAndView數據的返回以及各種UI視圖的展現,實現了MVC模式的WEB應用開發框架。

4.spring JDBC

對於資料庫的操作,java提供了jdbc,但是在實際開發中,單純的使用jdbc還是比較繁瑣的。所以spring對jdbc進行了封裝並提供了jdbcTemplate模板類,包含了對資料庫的基本操作(增刪改查),同時springJDBC還提供了RDBMS的操作對象,是應用更面向對象的使用jdbc,如MappingSqlQuery可以直接將資料庫記錄映射到對象集合。

SpringJDBC還封裝了好多ORM工具,如iBatis,Hibernate等。

5.spring事務處理

在SrpingAOP中提到,spring集成了聲明式事務處理。spring將企業開發中事務處理的主要流程進行抽象,通過AOP的切面增強實現了聲明式事務處理的功能。聲明式事務的實現,只需要通過IOC容器進行配置即可完成。應用可以選擇不同的事務處理機制如jdbc,hibernate等,即事務實現的基本過程和具體的事務處理器無關.

因為使用了聲明式事務處理,這些具體的事務處理機制將被納入spring事務處理的統一框架中完成,並與具體的業務代碼解耦。在這個模塊中,我們可以看到一個通用的聲明式事務的基本過程,即配置事務處理攔截器,讀入事務配置屬性,如何根據配置屬性進行事務的創建、掛起、提交、回滾等操作。

6.spring遠端調用

spring帶來的好處之一就是將代碼進行解耦。但是隨之而來的問題就是解耦的應用需要進行分散式部署。所以spring提供了遠端調用的能力,但是只能是spring應用到spring應用的遠端調用。

7.spring應用

使用spring框架開發的應用,從嚴格意義上講並不屬於spring架構的一部分,但是spring包含了許多子項目,這些子項目都是使用了spring作為基礎,例如Spring Security Oauth.

spring整體架構

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

Paint幾個枚舉/常量值以及ShadowLayer陰影效果
負載均衡-Ribbon 的負載均衡策略

TAG:程序員小新人學習 |