竹笋

首页 » 问答 » 灌水 » 重学Spring框架系列之什么是Sp
TUhjnbcbe - 2023/10/10 17:19:00

说在前面

Spring框架算得上是java程序员必备的一项技能了。不论是早期的SSM或SSH架构,还是现在流行的SpringBoot加SpringCloud构建的分布式、微服务架构。Spring在其中扮演着不可或缺的角色,其重要性也是不言而喻的。

为了更好的工作和自身的提升,菜鸟又从新学习了一下Spring框架,在学习的过程中也有一些收获,从而想着通过文章将自己的学习过程记录下来。也希望可以帮助到有需要的人。如果文章中存在不合理或错误的地方也希望大家可以提出来,我会及时改正,希望我们可以一起进步。

既然我们要学习Spring框架,那么首要任务肯定是先了解什么是Spring?它能做什么?它有什么优势?它凭什么备受青睐?下面就让我们一起来探索一下Spring的奥义!

Spring基本介绍

Spring框架是由RodJohnson发起的一个轻量级开源J2EE应用程序框架。

Spring框架是一个针对Bean的生命周期进行管理的的轻量级容器。通俗点来讲Spring就是一个容器,我们的bean都放到这个容器中,让Spring来进行管理。

Spring是一个基于模块化的框架,这就导致我们可以灵活的选择是使用其一部分的功能,还是全部使用,给开发者提供了更多的选择。

Spring是积极拥抱其它框架的,它可以很好的和其它框架进行整合,而不是一门心思想要取而代之。

Spring的核心

Spring有两大核心部分分别是:IOC和AOP。

ICO就是InversionofControl的缩写,其含义就是“控制反转”。什么是“控制反转”呢?打个比方来说:结婚前你的工资完全由你来支配,想怎么花就怎么花。结婚后变了,你的钱要上交给你媳妇了,你想花的时候得申请。此时你对工资的控制转变了,由原来的你控制,变成了你媳妇控制。这就是“控制反转”。

将这种现象体现在编程中就是:把创建对象的过程交给Spring进行管理,我不在自己动手new对象,而是从Spring的容器中获取。

AOP就是AspectOrientedProgramming的缩写,其含义就是“面向切面编程”。这个概念就比较抽象了,它的理念就是在不修改源代码的基础上进行功能的增强。我们可以通过下图来辅助理解AOP的含义。

Spring的特点

1、将Bean交由Spring管理可以方便代码解耦,并且还可以简化日常开发。

2、Spring框架对AOP编程有很好的支持,这样我们可以很方便的对程序进行权限管理、日志收集、运行监控等等。

3、Spring对Junit支持,可以很方便的进行代码的测试。

4、Spring还支持声明式事务,方便进行事务相关的操作。

5、Spring对javaEE的一些API进行了封装,通过使用Spring可降低对这些API的使用难度。

6、Spring是拥抱其它框架的我们可以方便地和其他框架进行整合。

Spring整体模块图

模块简介

Test模块:对测试的一些相关支持。CoreContainer模块:核心容器模块,Beans和Core是对IOC容器的支持,Context是上下文(环境)相关的支持,Expression是EL表达式的功能。AOP和Aspects模块:由这两个模块实现了Spring的AOP相关功能。Instrument模块:提供了类植入支持和类加载器的实现,可以应用在特定的应用服务器中。Messaging模块:消息传递模块。DataAccess/Integration模块:该模块主要用于和数据库交互。Web模块:主要包含了面向web的一些功能。

今天的分享就到这里了,如果感觉“菜鸟”写的文章还不错,记得点赞、转发加

1
查看完整版本: 重学Spring框架系列之什么是Sp