Spring - 基础篇

本文全面介绍了Spring框架,它不仅是框架,更是一种生态,主要目的是简化开发。阐述了其简化开发的四个策略,包括基于POJO编程等。还介绍了Spring的编程思想,如IOC、DI、AOP。详细说明了Spring5系统架构及各模块间的依赖关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、认识Spring

Spring不仅仅只是一个框架,已然已经成为一种生态了。例如,我们熟知的 “Spring全家桶”(包括SpringMVC、SpringBoot、Spring Cloud等)。
Spring最主要的目的就是简化开发。它可以帮助我们管理对象,管理它们之间的依赖关系,并提供一些通用的日志记录,包括性能统计,安全控制,异常处理等,还有提供面向切面,数据库事务等功能。并且它有很厉害的插件机制,可以把其他框架一键式集成到spring框架中来。所以又被称之为“万能胶”、“联合剂”等。
基于Java设计,编程理念:BOP(面向Bean的编程)。

二、Spring的简化开发的四个策略

1、基于POJO(plain Ordinary Java Object,简单的JavaBean) 的轻量级的最小侵入性编程。
2、通过依赖注入和面向接口松耦合。
3、基于切面和惯性进行声明式编程。
4、通过切面和模板减少样板式代码。

三、Spring编程思想

IOC:控制反转。把创建对象管理对象的权利交给Spring,Spring把自动管理的bean存在IOC容器里面。
DI:依赖注入,注入即赋值,把声明好的对象进行一个动态赋值,把手动赋值变成自动赋值(通俗的来说,就是不需要你自己new了,通过依赖注入进去,就自动帮你生成了)。
AOP:面向切面编程。切面:把具有同一规律的类或者方法放在一起做为一个面,统一的操作、监控、维护和干预等。
DI和AOP都要依赖IOC。

四、Spring5系统架构

在这里插入图片描述
1、核心模块(Core Container)
Spring - core : 依赖注入IOC和DI的最基本实现
Spring - beans:Bean工厂和Bean的装配
Spring - context:定义基础的Spring的Context上下文即IOC容器
Spring - context - support:对Spring IOC容器的扩展支持,以及IOC子容器
Spring - context - indexer:Spring的类管理组件和Classpath扫描
Spring - expression:Spring表达式语言
2、切面编程
Spring - Aop :面向切面编程的应用模块,整合Asm、CGLib、JDKProxy等技术
Spring - Aspects:(第三方框架),集成AspectJ,Aop的应用框架
Spring - Instrument(对设备的支持):动态Class Loading模块(扫描类文件并加载)
3、Data Access/Integration(数据访问)
Spring - JDBC:Spring提供的JDBC抽象框架的主要实现模块,用于简化Spring JDBC操作
Spring - tx:Spring JDBC事务控制实现模块
Spring - ORM:主要集成Hibernate,Java Persistence APJ(JPA)和Java Data Object(JDO)
Spring - OXM:将java对象映射成xml数据,或者将xml数据映射成java对象
Spring - JMS:Java Messaging Service,能够发送和接受Java消息
4、web(web模块)
Spring - web:提供了最基础的Web支持,主要建立于核心容器之上,通过Servlet或者Listeners来初始化IOC容器;
Spring - webmvc:实现了Spring - mvc的web应用
Spring - websocket:主要是与web前端的全双工通讯的协议
Spring - webflux:一个新的非阻塞函数式Reative web框架,可以用来建立异步的,非阻塞,事件驱动的服务。
5、通信报文
Spring - Messaging(数据通信):从Spring4开始新加入的一个模块,主要职责是为spring框架集成一些基础的保温传送应用。
6、集成测试
Spring -test:主要为测试提供支持。
7、集成即溶
spring - framework - bom:Bill - of - Materials 解决spring的不同模块依赖版本不同的问题

五、模块之间的依赖关系

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值