品牌型号:联想ThinkPad X1
系统:Windows10家庭版
软件版本:Spring 5.3.7
Java程序员在做后端的开发学习过程中,几乎都会接触Spring框架,Spring框架是我们在中小型项目中必不可少的开发工具,可是有很多开发者只是单纯会使用它,但是对Spring框架本身没有足够的认知,像很多程序员只知道调用现成的方法,但是却很少能静下来思考,甚至有些小伙伴都不知道Spring框架是什么语言写的。此外,很多人对Spring框架的理解始终是模模糊糊的,只知道它能简化开发,但是不懂它的设计思想,甚至不懂为什么要用Spring,也不懂控制反转和面向切面编程究竟有什么实际意义。接下来我们就从"Spring框架是什么语言写的,Spring框架到底如何理解"这两个基础问题出发,给大家详细讲解,帮助大家真正弄懂Spring。
一、Spring框架是什么语言写的
大家用了Spring之后,有没有想过这样一个问题,Spring框架这么厉害,它是用什么编程语言写出来的呢?其实Spring框架能和Java生态高度适配,主要原因还是因为Spring框架的主体是使用Java语言编写出来的。

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

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

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

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

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

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