Spring常见知识总结

简介: Spring常见知识总结

什么是Spring?


Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性。

我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发,比如说 Spring 支持 IoC(Inversion of Control:控制反转) 和 AOP(Aspect-Oriented Programming:面向切面编程)、可以很方便地对数据库进行访问、可以很方便地集成第三方组件(电子邮件,任务,调度,缓存等等)、对单元测试支持比较好、支持 RESTful Java 应用程序的开发。

Spring 最核心的思想就是不重新造轮子,开箱即用,提高开发效率。

Spring 翻译过来就是春天的意思,可见其目标和使命就是为 Java 程序员带来春天啊!感动!

Spring包含的模块有哪些?

Spring 各个模块的依赖关系如下:


Core Container

Spring 框架的核心模块,也可以说是基础模块,主要提供 IoC 依赖注入功能的支持。Spring 其他所有的功能基本都需要依赖于该模块,我们从上面那张 Spring 各个模块的依赖关系图就可以看出来。

●spring-core:Spring 框架基本的核心工具类。

●spring-beans:提供对 bean 的创建、配置和管理等功能的支持。

●spring-context:提供对国际化、事件传播、资源加载等功能的支持。

●spring-expression:提供对表达式语言(Spring Expression Language) SpEL 的支持,只依赖于 core 模块,不依赖于其他模块,可以单独使用。

AOP

spring-aspects:该模块为与 AspectJ 的集成提供支持。

spring-aop:提供了面向切面的编程实现。

spring-instrument:提供了为 JVM 添加代理(agent)的功能。 具体来讲,它为 Tomcat 提供了一个织入代理,能够为 Tomcat 传递类文 件,就像这些文件是被类加载器加载的一样。没有理解也没关系,这个模块的使用场景非常有限。

Data Access/Integration

●spring-jdbc:提供了对数据库访问的抽象 JDBC。不同的数据库都有自己独立的 API 用于操作数据库,而 Java 程序只需要和 JDBC API 交互,这样就屏蔽了数据库的影响。

●spring-tx:提供对事务的支持。

●spring-orm:提供对 Hibernate、JPA、iBatis 等 ORM 框架的支持。

●spring-oxm:提供一个抽象层支撑 OXM(Object-to-XML-Mapping),例如:JAXB、Castor、XMLBeans、JiBX 和 XStream 等。

●spring-jms : 消息服务。自 Spring Framework 4.1 以后,它还提供了对 spring-messaging 模块的继承

Spring Web

●spring-web:对 Web 功能的实现提供一些最基础的支持。

●spring-webmvc:提供对 Spring MVC 的实现。

●spring-websocket:提供了对 WebSocket 的支持,WebSocket 可以让客户端和服务端进行双向通信。

●spring-webflux:提供对 WebFlux 的支持。WebFlux 是 Spring Framework 5.0 中引入的新的响应式框架。与 Spring MVC 不同,它不需要 Servlet API,是完全异步。

Messaging

spring-messaging 是从 Spring4.0 开始新加入的一个模块,主要职责是为 Spring 框架集成一些基础的报文传送应用。


Spring Test

Spring 团队提倡测试驱动开发(TDD)。有了控制反转 (IoC)的帮助,单元测试和集成测试变得更简单。

Spring 的测试模块对 JUnit(单元测试框架)、TestNG(类似 JUnit)、Mockito(主要用来 Mock 对象)、PowerMock(解决 Mockito 的问题比如无法模拟 final, static, private 方法)等等常用的测试框架支持的都比较好。


目录
相关文章
|
6月前
|
Java 开发者 Spring
Spring之AutowiredAnnotationBeanPostProcessor
`AutowiredAnnotationBeanPostProcessor`是Spring自动装配机制的核心组成部分,为开发者提供了强大的依赖注入功能。通过识别 `@Autowired`及其他相关注解,它可以减少设置依赖的样板代码,允许快速和容易地集成不同的Spring组件。由于其在Spring框架中的关键作用,掌握其原理和用法对于深入理解和正确使用Spring框架至关重要。通过其提供的默认功能以及定制化扩展能力,`AutowiredAnnotationBeanPostProcessor`能够满足各种复杂场景下的依赖注入需求。
82 0
|
8月前
|
XML Java 数据库连接
SpringjDBCTemplate_spring25
SpringjDBCTemplate_spring25
|
9月前
|
Java 测试技术 容器
初识spring
初识spring
45 0
|
9月前
|
存储 设计模式 Java
【Spring】——Spring简单 读和取(二)
【Spring】——Spring简单 读和取
76 0
【Spring】——Spring简单 读和取(二)
|
存储 Java Maven
😧 Spring_day01 ✅(二)
😧 Spring_day01 ✅
79 0
|
开发框架 Java 数据库连接
😧 Spring_day01 ✅(一)
😧 Spring_day01 ✅
128 0
|
XML Java 关系型数据库
😧 Spring_day02 ✅(四)
😧 Spring_day02 ✅
73 0
|
XML druid Java
😧 Spring_day02 ✅(三)
😧 Spring_day02 ✅
125 0
😧 Spring_day02 ✅(三)
|
XML Java 程序员
Spring详细总结3
Spring详细总结3
233 0
Spring详细总结3
|
Java Spring