Spring spring

Spring中文网站 > Spring Modulith > Spring框架是什么语言写的 Spring框架到底如何理解
Spring框架是什么语言写的 Spring框架到底如何理解
发布时间:2026/05/25 13:13:00

品牌型号:联想ThinkPad X1

系统:Windows10家庭版

软件版本:Spring 5.3.7

Java程序员在做后端的开发学习过程中,几乎都会接触Spring框架,Spring框架是我们在中小型项目中必不可少的开发工具,可是有很多开发者只是单纯会使用它,但是对Spring框架本身没有足够的认知,像很多程序员只知道调用现成的方法,但是却很少能静下来思考,甚至有些小伙伴都不知道Spring框架是什么语言写的。此外,很多人对Spring框架的理解始终是模模糊糊的,只知道它能简化开发,但是不懂它的设计思想,甚至不懂为什么要用Spring,也不懂控制反转和面向切面编程究竟有什么实际意义。接下来我们就从"Spring框架是什么语言写的,Spring框架到底如何理解"这两个基础问题出发,给大家详细讲解,帮助大家真正弄懂Spring。

一、Spring框架是什么语言写的

大家用了Spring之后,有没有想过这样一个问题,Spring框架这么厉害,它是用什么编程语言写出来的呢?其实Spring框架能和Java生态高度适配,主要原因还是因为Spring框架的主体是使用Java语言编写出来的。

Spring网站
图1:Spring网站

很多初学者都认为框架是独立于编程语言的特殊工具,其实这是一种错误的理解,市面上大多数Java开发框架,底层源码其实都是依托Java来编写的。各位如果不信,可以在IDE中引入Spring核心依赖包,然后我们查看源码,可以看到大部分文件都是标准的Java类文件。

查看Spring源码
图2:查看Spring源码

但是Spring框架也不是纯粹只靠Java编写,还包含了少量辅助性语言,为了优化配置文件解析、适配不同运行环境,Spring中还掺杂了少量的Groovy语言,同时部分配置文件资源文件会用到XML、Properties格式,但是这些只是辅助作用,并不改变Spring以Java为核心开发语言的事实。

Spring中掺杂了少量的Groovy
图3:Spring中掺杂了少量的Groovy

二、Spring框架到底如何理解

很多初学者在学习Spring的时候都有一个通病,喜欢死记硬背,学了大半年依旧摸不透框架的本质,提到Spring都知道IOC和AOP但是问到Spring到底是干什么的,很多人只会说一句简化开发。类似这种浅显的认知,很难满足面试官们的期望。我们不用把Spring想象的太过高深,站在我们开发者的角度,它的本质其实就是一款帮我们管理代码、解耦程序、管控对象的一站式开发框架。

Spring管理对象的创建
图4:Spring管理对象的创建

我们也可以理解为,Spring就是一个对象容器,之前没有Spring的时候,都是通过硬编码手动new对象的方式来创建对象,手动维护对象之间的调用关系。这种方式在做小项目的时候没啥问题,但是一旦业务变复杂了,类和类之间的耦合度肯定会升高,代码会变得杂乱,不利于后期维护。

耦合度过高
图5:耦合度过高

想要吃透Spring,不建议上来就去挖底层源码,先把核心的IOC控制反转搞明白,然后就是AOP,有学员之前并不懂AOP存在的意义,其实,我们可以借助AOP在不改变原有代码的前提下,对方法进行增强,像我们平时用到的日志记录、事务控制等都是靠AOP来实现。

Spring Aop代码演示
图6:Spring AOP代码演示

以上就是Spring框架是什么语言写的,Spring框架到底如何理解的全部内容了。Spring框架主要是由Java编写的,这也是为什么Spring框架能和Java生态高度适配的原因,Spring框架在学习的时候不要死记硬背,不要把Spring当成一个很难懂的技术壁垒,不要一开始就去挖源码,先把握Spring的两个核心思想然后一步步的去进阶就可以了。

180 1563 6924