Spring 架構(gòu)

Spring可能成為您的所有企業(yè)應(yīng)用程序的一站式商店。但是,Spring是模塊化的,允許您挑選適用于您的模塊,而無(wú)需引入其他模塊。下面的部分提供了Spring Framework中所有可用模塊的詳細(xì)信息。
Spring Framework提供了大約20個(gè)模塊,可以根據(jù)應(yīng)用程序要求使用。
核心容器
核心容器由Core、Beans、Context和Expression Language模塊組成,其詳細(xì)信息如下:
Core模塊提供了框架的基本部分,包括IoC和依賴注入功能。
Bean模塊提供了BeanFactory,它是工廠模式的復(fù)雜實(shí)現(xiàn)。
Context模塊建立在Core和Beans模塊提供的堅(jiān)實(shí)基礎(chǔ)之上,它是訪問(wèn)定義和配置的任何對(duì)象的媒介。ApplicationContext接口是Context模塊的焦點(diǎn)。
SpEL模塊為在運(yùn)行時(shí)查詢和操作對(duì)象圖提供了強(qiáng)大的表達(dá)式語(yǔ)言。
數(shù)據(jù)訪問(wèn)/集成
數(shù)據(jù)訪問(wèn)/集成層由JDBC、ORM、OXM、JMS和Transaction模塊組成,其詳細(xì)信息如下:
JDBC模塊提供了一個(gè)JDBC抽象層,消除了繁瑣的JDBC相關(guān)編碼。
ORM模塊為流行的對(duì)象關(guān)系映射API(包括JPA、JDO、Hibernate和iBatis)提供了集成層。
OXM模塊提供了一個(gè)支持JAXB、Castor、XMLBeans、JiBX和XStream的Object/XML映射實(shí)現(xiàn)的抽象層。
Java消息服務(wù)JMS模塊包含用于生成和消費(fèi)消息的特性。
Transaction模塊支持實(shí)現(xiàn)特殊接口的類(lèi)和所有POJO的編程和聲明性事務(wù)管理。
Web
Web層由Web、Web-MVC、Web-Socket和Web-Portlet模塊組成,其詳細(xì)信息如下:
Web模塊提供基本的面向Web的集成功能,如多部分文件上傳功能以及使用servlet監(jiān)聽(tīng)器和面向Web的應(yīng)用程序上下文初始化IoC容器。
Web-MVC模塊包含Spring用于Web應(yīng)用程序的Model-View-Controller(MVC)實(shí)現(xiàn)。
Web-Socket模塊提供了在Web應(yīng)用程序中客戶端和服務(wù)器之間進(jìn)行基于WebSocket的雙向通信的支持。
Web-Portlet模塊提供了用于在Portlet環(huán)境中使用的MVC實(shí)現(xiàn),并反映了Web-Servlet模塊的功能。
其他
還有其他一些重要的模塊,如AOP、Aspects、Instrumentation、Web和Test模塊,其詳細(xì)信息如下:
AOP模塊提供了一種面向方面的編程實(shí)現(xiàn),允許您定義方法攔截器和切入點(diǎn),以清晰地解耦實(shí)現(xiàn)應(yīng)該分離的功能的代碼。
Aspects模塊提供了與AspectJ的集成,這又是一個(gè)強(qiáng)大而成熟的AOP框架。
Instrumentation模塊提供了類(lèi)儀器支持和類(lèi)裝入器實(shí)現(xiàn),可用于某些應(yīng)用程序服務(wù)器。
Messaging模塊提供了支持STOMP作為用于應(yīng)用程序的WebSocket子協(xié)議的功能。它還支持一種注釋編程模型,用于從WebSocket客戶端路由和處理STOMP消息。
Test模塊支持使用JUnit或TestNG框架測(cè)試Spring組件。
最后
為了方便其他設(shè)備和平臺(tái)的小伙伴觀看往期文章,鏈接奉上:
公眾號(hào)搜索Let us Coding
看完如果覺(jué)得有幫助,歡迎點(diǎn)贊、收藏和關(guān)注