一、Spring框架的基本理解:
Spring框架是一款轻量级的开发框架,核心思想是IOC(控制反转)和AOP(面向切面编程),为Java应用程序开发提供组件管理服务,用于组件之间的解耦,以及简化第三方JavaEE中间件技术的使用(JMS、任务调度、缓存、ORM框架),是一个基础架构型的开发框架;
Spring框架包括:IOC容器、Validation数据校验、AOP面向切面编程、Transactions事务管理、Spring JDBC、Spring MVC框架、以及各类第三方JavaEE中间件技术集成。
二、Spring框架都由哪些模块组成?
Spring Framework根据官方文档描述,主要包括一下常用5个模块:
1.Core:核心模块
包括:IoC Container(Ioc容器)、Events(事件通知机制)、Resources(资源加载机制)、i18n(国际化)、Validation(数据校验)、Data Binding(数据绑定),Type Conversion(类型转换)、SpEl(Spring表达式)、AOP(面向切面编程);
2.Testing:测试模块
包括:Mock Objects(测试模拟对象)、TestContext Framework(测试框架)、Spring MVC Test(用于测试Spring MVC)、WebTestClient(用于测试WebClient、Restful、Webflux等);
3.Data Access:数据访问模块
包括:Transaction(事务管理)、DAO Support(统一的Data Access Object DAO模式封装)、JDBC(Spring对于JDBC的操作封装)、O/R Mapping(Spring对于对象关系映射框架的封装,例如Hibernate等框架)等;
4.Web Servlet:基于Servlet的web应用开发
包括:Spring MVC(Spring基于MVC模式设计封装的web框架),WebSocket(spring集成WebSocket,WebSocket是一个服务器与客户端双向通信的技术)等;
5.Integration:企业级系统集成模块(不同系统之间的交互集成)
包括:Remoting(Spring用于在分布式系统中进行远程服务调用的通讯框架),JMS(Spring集成各类Java消息中间件、Java消息服务、Java Email(邮件发送)、Tasks Scheduling(任务调度);