深入Spring源码专题(二)

113 阅读3分钟

这是我参与2022首次更文挑战的第5天,活动详情查看2022首次更文挑战

深入Spring 5 Release版本,了解Spring 功能模块

模块描述
context-indexer模块包含一个索引器实现,它提供对META-INF/spring.components中定义的候选项的访问功能,但核心类CandidateComponentsIndex并不能在外部使用。
context-support模块包含对Spring-context模块的进一步扩展,在用户界面方面,有一些用于支持邮件并与模板引擎(Velocity、FreeMarker和JasperReports)集成的类,还包含了与各种任务执行和调度库(CommonJ和Quartz)的集成。
core这是每个Spring应用程序都需要的主要模块,在该JAR文件中,可找到所有其他Spring模块(用于访问配置文件的类)所共享的所有类,在该JAR文件中,发现在整个Spring代码库中经常被使用到的应用程序类。
expression该模块包含Spring Expression Language的所有支持类。
instrument该模块包含用于JVM启动的Spring工具代理,如果在Spring应用程序中使用AspectJ实现加载时织入,这个模块是必需的。
dbc该模块包含所有的JDBC支持类,对于需要数据库访问的所有应用程序,都需要这个模块,支持数据源、JDBC数据类型、JDBC模板、本地JDBC连接等的类都被打包在此模块中。
jms该模块包含JMS支持的所有类
orm该模块扩展了Spring的标准JDBC功能集,支持流行的ORM工具,包括Hibernate、JDO、JPA和数据映射器iBatis,该JAR文件中的许多类都依赖于spring-jdbc JAR文件中所包含的类,因此需要把它包含在应用程序中。
oxm该模块未Object/XML映射(OXM)的提供支持,用于抽象XML编组和解组以及支持Castor、JAXB、XMLBeans和XStream等常用工具的类都包含在此模块中。
testSpring提供模拟类来帮助测试应用程序,在对Web应用程序进行单元测试时发现模拟HttpServletRequest和HttpServletResponse类所带来的好处;Spring 提供了与JUnit单元测试框架的紧密集成,并且在该模块中提供了许多支持JUnit测试用例开发的类。
tx该模块提供支持Spring事务基础架构的所有类,可从事务抽象层找到相应的类来支持Java Transaction API(JTA)以及与主要供应商的应用程序服务器的集成。
web该模块包含在Web应用程序中使用Spring所需的核心类,包括用于自动加载ApplicationContext功能的类,文件上传支持类以及一些用于执行重复任务的所有用类。
web-reactive该模块包含Spring Web Reactive 模型的核心接口和类。
web-mvc该模块包含Spring与MVC框架的所有类。
websocket该模块提供对WebSocket的Java API的支持。