Spring可能能為您提供一站式的企業應用程序。同時,Spring是模塊化的,因此您可以選擇適合自己的模塊,而不必引入其他模塊。Spring框架提供了大約20個模塊,可以根據應用程序需求使用它們。
核心容器
核心容器由Core,,Bean,Context和SpEL模塊組成,其詳細信息如下-
- 核心模塊提供了框架的基本部分,包括IOC和依賴注入特征。
- Bean的模塊提供的BeanFactory,這是一個復雜的實現工廠模式。
- 上下文模塊建立由核心和Bean類模塊提供的固體基體上,它是訪問的介質定義和配置的任何對象。ApplicationContext接口是Context模塊的焦點。
- 在使用SpEL模塊提供用于查詢并在運行時操作對象圖的強大的表達式語言。
數據訪問/集成
數據訪問/集成層由JDBC,ORM,OXM,JMS和Transaction模塊組成,其詳細信息如下-
- JDBC模塊提供了一個JDBC的抽象層,消除了對相關編碼乏味JDBC的需要。
- ORM模塊提供的集成層為流行的對象關系映射API,包括JPA,JDO,休眠,和iBatis。
- OXM模塊提供了一個抽象層,支持Object對JAXB,蓖麻,XMLBeans的,JiBX的及XStream / XML映射實現。
- JMS模塊包含用于生成和使用消息的功能。
- Transaction模塊支持實現特殊的接口,并為所有的POJO類方案和聲明式事務管理。
Web
Web層由Web,Web-MVC,Web-Socket和Web-Portlet模塊組成,其詳細信息如下-
- Web 模塊提供了基本的面向Web的集成功能,如多文件上傳功能,并使用servlet的用戶和一個面向Web的應用程序上下文IoC容器的初始化。
- 網絡MVC模塊包含Web應用程序的Spring的模型-視圖-控制器(MVC)的實現。
- WebSocket模塊提供客戶端和Web應用程序服務器之間基于WebSocket的-,雙向通信支持。
- Web的Portlet模塊提供了MVC實現在portlet環境和鏡子網絡服務程序模塊的功能使用。
其他
其他重要模塊,如AOP,Aspects,Instrumentation,Message和Test模塊,其詳細信息如下-
- AOP模塊提供了一個面向方面的編程實現,允許你定義方法攔截器和切入點干凈地解耦代碼實現的功能,要分開。
- Aspects模塊提供了與AspectJ的,這又是一個強大而成熟的AOP框架集成。
- Instrumentation模塊提供類工具的支持和類加載器實現在一定的應用服務器中使用。
- Message模塊提供支持STOMP作為WebSocket的子協議在應用程序中使用。它還支持注釋編程模型,用于路由和處理來自WebSocket客戶端的STOMP消息。
- Test模塊支持使用JUnit或TestNG的框架Spring組件的測試。