spring架构整理
架構如下:
| 架構版本 | 架構圖 |
| Spring3結構圖 | ? ? ? ? ? |
| Spring4結構圖 | |
| Spring5結構圖 |
?
?
上面的ORM包含了hibernate和mybatis
也就是ssh組合和ssm組合中的h與m。
圖中將spring分為5個部分:core、aop、data access、web、test,
圖中每個圓角矩形都對應一個jar,如果在maven中配置,
所有這些jar的“groupId”都是“org.springframework”,每個jar有一個不同的“artifactId”,
另外,“instrumentation”有兩個jar,還有一個“spring-context-support”圖中沒有列出,所以spring3的jar包一共是19個
-----------------------------------------------------------------------下面是spring3的大致整理-----------------------------------------------------------------------------------------------------------------------------------------
| Core Container | spring-beans | Bean工廠與bean的裝配 |
| spring-core | 依賴注入IoC與DI的最基本實現 | |
| spring-context | spring的context上下文即IoC容器 | |
| spring-expression | spring表達式語言 | |
| AOP | spring-aop | 面向切面編程 |
| spring-aspects | 集成AspectJ | |
| spring-instrument | 提供一些類級的工具支持和ClassLoader級的實現,用于服務器 | |
| spring-instrument-tomcat | 針對tomcat的instrument實現 | |
| Data Access | spring-jdbc | jdbc的支持 |
| spring-tx | 事務控制 | |
| spring-orm | 對象關系映射,集成orm框架 | |
| spring-oxm | 對象xml映射 | |
| spring-jms | java消息服務 | |
| Web | spring-web | 基礎web功能,如文件上傳 |
| spring-webmvc | mvc實現 | |
| spring-webmvc-portlet | 基于portlet的mvc實現 | |
| spring-struts | 與struts的集成,不推薦,spring4不再提供 | |
| Test | spring-test | spring測試,提供junit與mock測試功能 |
| spring-context-support | spring額外支持包,比如郵件服務、視圖解析等 |
?
注意:
各大文章中,spring框架的
AOP、Aspects、Instrumentation常常被歸為一類
?
關于servlet,摘錄來自[9]的一段話:
Web MVC 框架基于 Servlet API,就會是一項優點。因為,雖然運用 Web MVC 編寫程序時,可做到不直接面對 Servlet API,然而,也意味著更強烈地受到 Spring 的約束,有時則是無法在設定或 API 中找到對應方案,有時也因為心智模型還是掛在 Servlet 容器,經驗上難以脫離,在搞不出 HttpSession、ServletContext 對應功能時,直接從 HttpSession、ServletContext 下手,畢竟也是個方法。
?
至于Spring web和web mvc的區別[10]:
web mvc主要是對mvc的支持,包括restful協議
Spring web則對遠程調用和遠程服務的支持。
?
Reference:
[1]Spring體系結構詳解
[2]spring框架 技術體系介紹
[3]Spring 核心框架體系結構(主要是講解spring 3的)
[4](3)spring5的體系架構(最后的圖有點問題,中間的分析還不錯)
[5]【Spring】———spring核心架構體系(一)
[6]SpringMVC體系分層模式(詳細圖文講解)
[7]10分鐘詳解Spring全家桶7大知識點
[8]Spring5 系統架構(已經閱讀)
[9]Flux 會取代 Web MVC,或可不再基于 Servlet 容器了?
[10]Spring Web 和 Spring Web MVC有什么區別?
?
?
總結
以上是生活随笔為你收集整理的spring架构整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 饮水机价格概述及介绍
- 下一篇: iPhone 11 无线充电会自动断开怎