Spring是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。
一般来说Spring框架指的是Spring Framework,它是很多模块的集合,使用这些模块可以协助我们进行开发。
模块:
- 核心容器
- 数据访问/集成
- Web
- AOP(面向切面编程)
- 工具
- 消息
- 测试模块
Core Container中Core组件是Spring所有组件的核心,Beans组件和Context组件是实现IOC和依赖注入的基础,AOP组件用来实现面向切面编程。
Spring官网列出的Spring的6个特征:
核心技术:依赖注入(DI)、AOP、事件(Events)、资源i18n、验证、数据绑定、类型转换、SpEL。
测试:模拟对象,TestContext框架、Spring
MVC测试、WebTestClient
数据访问:事务、DAO支持、JDBC、ORM、编组XML
WEB支持:Spring MVC和Spring WebFlux Web框架
集成:远程处理、JMS、JCA、JMX、电子邮件、任务、调度、缓存
语言:Kotlin、Groovy、动态语言
2.列举一些重要的Spring模块
下图对应的是Spring4.x版本。目前最新的5.x版本中Web模块的Prolet组件已经被废弃掉,同时增加了用于异步响应式处理的WebFlux组件。
- Spring Core:基础,可以说Spring其他所有的功能都需要依赖于该类库。主要提供IOC依赖注入功能。
- Spring Aspect:该模块为AspectJ的集成提供支持。
- Spring AOP:提供了面向切面的编程实现
- Spring JDBC:Java数据库连接。
- Spring JMS:Java消息服务。
- Spring ORM:用于支持Hibernate等ORM工具。
- Spring Web:为创建Web应用程序提供支持。
- Spring Test:提供了对JUnit和TestNG测试的支持。