⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章
⭐作者主页:@逐梦苍穹
⭐所属专栏:Spring
目录
- 发展历程
- 体系结构
发展历程
体系结构
Spring框架的体系结构的主要组成部分:
- 核心容器(Core Container): 核心容器是Spring框架的基础部分,提供了IoC容器和依赖注入(DI)功能,用于管理和组织应用程序的对象。核心容器由以下模块组成:
○ Spring IoC(Inversion of Control): Spring IoC模块负责管理应用程序的对象实例,实现了IoC容器的核心功能。它通过读取配置文件或注解配置来实现对象的创建、组装和生命周期管理。
○ Spring DI(Dependency Injection): Spring DI模块负责实现依赖注入功能,将对象之间的依赖关系委托给IoC容器来处理。通过DI,对象之间的依赖关系不再硬编码,而是通过配置或注解来声明和解析。 - AOP(Aspect-Oriented Programming): AOP模块提供了面向切面编程的支持,用于解耦和增强应用程序的横切关注点。它通过定义切面、连接点和通知等概念,实现了在应用程序执行过程中动态地插入和执行额外的逻辑。
- 数据访问/集成(Data Access/Integration): 数据访问/集成模块提供了与数据库、缓存、消息队列等数据源的集成支持,以及与其他系统的通信能力。
它包括以下模块:
○ JDBC(Java Database Connectivity): JDBC模块提供了与关系型数据库的集成支持,用于进行数据库操作和数据访问。
○ ORM(Object-Relational Mapping): ORM模块提供了与对象关系映射框架的集成支持,如Hibernate、MyBatis等,用于实现对象和数据库之间的映射和交互。
○ OXM(Object/XML Mapping): OXM模块提供了与XML数据的集成支持,用于实现对象与XML之间的映射和转换。
○ JMS(Java Message Service): JMS模块提供了与消息队列系统的集成支持,用于实现异步消息的发送和接收。
○ Transactions(事务): 事务模块提供了对事务的管理和支持,保证在数据访问操作中的一致性和完整性。 - Web: Web模块提供了与Web开发相关的支持,用于构建Web应用程序和处理Web请求。它包括以下模块:
○ Spring MVC(Model-View-Controller): Spring MVC模块是Spring框架的Web框架,提供了MVC架构的支持,用于构建灵活和可扩展的Web应用程序。
○ Spring WebFlux: Spring WebFlux模块提供了响应式编程的支持,用于构建响应式的Web应用程序。 - 测试(Testing): 测试模块提供了对Spring应用程序的单元测试和集成测试的支持,包括对依赖注入和AOP的测试、模拟对象的支持、数据库测试支持等。
- 其他模块: Spring框架还包括其他一些模块,如安全性支持(Spring Security)、任务调度(Spring Task)、远程调用(Spring Remoting)等,用于提供额外的功能和扩展性。