Spring模块
????
?一.核心容器:Spring核心容器由spring-core、spring-beans、spring-context、spring-context-support和spring-expression模塊組成
spring-core、spring-beans模塊包含IoC和依賴注入等spring框架基礎功能。BeanFactory是復雜的工廠模式,它消除了單例編程的需要并且可以與許允你根據實際的程序邏輯中分離配置文件和規范
spring-context模塊建立在spring-context和spring-beans模塊基礎上,它是訪問框架的方式類似于JNID注冊表的方式。Context模塊繼承Bean模塊,并增加了國際化(例如,使用資源)、事務傳播、資源加載即通過servlet容器創建對上下文支持。Context模塊還支持JavaEE功能例如:EJB、JMS和基本遠程處理。ApplicationContext接口是Context模塊的核心。spring-context-support提供了第三方庫集成到spring應用上下文以支持緩存(EhCache、Guava、JCache)、郵件(JavaEmail)、調度(CommentJ、Quartz)、模板引擎(FreeMarker,JasperReports,Velocity)的支持。
spring-expression模塊springEL表達式,它運行時查詢和操作對象圖是對JSP 表達語言的一種擴展(統一EL),該語言支持設置和獲取屬性值,屬性分配,方法調用,訪問數組,集合和索引器,邏輯和算術運算符,命名變量以及按名稱從Spring的IoC容器中檢索對象的內容。它還支持列表投影和選擇以及常見的列表聚合。
二.AOP and Instruments
spring-aop模塊允許你自定義的AOP實現統一面向切面編程,例如方法攔截和切點能夠實現代碼分離功能代碼完全解耦,使用源代碼元數據功能、你也能整合你代碼中的行為信息,例如你熟悉的.net屬性
spring-aspect整合了AspectJ
spring-instrument模塊提供了對Instrument類支持及類加載器實現,以在某些應用服務中使用
spring-instrument-tomcat模塊包含spring 對tomcat的一套代理
三.Message
spring-messing模塊是spring整合了Message、MessageChannel、MessageHandler及其他一些基礎的應用消息服務,這個模塊也包含消息映射的方法,類似于springmvc程序代碼的注釋
四.Data access/Integration
Data access/Integration層由JDBC、ORM、OXM、JMS和Transaction模塊組成
spring-jdbc模塊提供了jdbc的抽象層,它移除了冗長的jdbc代碼并且分析了數據庫供應商的特定錯誤代碼
spring-tx模塊對于你的類及pojo實現了特殊接口支持聲明式事務和編程是事務管理
spring-orm模塊提供了關系對象映射整合層的API,例如JPA、hibernate、JDO。使用spring-orm模塊你能使用將這些orm框架與spring的提供的其他功能結合使用,例如前面提到的聲明式事務功能
spring-oxm模塊提供了object/xml映射的抽象層的實現類似于:JAXB, Castor, XMLBeans, JiBX and XStream
spring-jms模塊包含生產和消費的功能
五.Web
web層由spring-web、spring-webmvc、spring-websocket、和spring-webmvc-portlet某塊組成
spring-web模塊是面向web整合功能例如多文件上傳功能、用servlet監聽器初始化IOC容器和面向web的上下文應用,它也包含Http客戶端及spring的web遠程部分
spring-webmvc模塊也被稱為servlet-portlet模塊包含spring的 model-view-controller(MVC)和實現了應用的REST web service。spring的MVC框架提供了Domain model代碼和web表單二者間清晰的分類并且整合了其他spring框架的其他功能
spring-webmvc-portlet模塊也被稱為web-portlet模塊提供了基于插件環境的MVC實現和基于servlet base和spring-mvc模塊
六.Test
The?spring-test?module supports the?unit testing?and?integration testing?of Spring components with JUnit or TestNG. It provides consistent?loading?of SpringApplicationContexts and?caching?of those contexts. It also provides?mock objects?that you can use to test your code in isolation.
?
總結
- 上一篇: Spring中的Bean的生命周期
- 下一篇: JavaScript基础学习之数据类型(