Java语言基础学完之后,就应该学习Spring框架了,之前也在B站找了几套Spring的视频教程,但大多都是上来就硬杠知识点,学得没头没尾,听不了几节课就放弃了。但今天分享的这套Spring视频应该说是B站上好评率最高的了。刷完这一遍之后,个人感觉它有如下优点:

**1.知识点衔接很好。**不同于其他教程,该老师刚开始并没有上来就讲IOC的概念、IOC的使用等等知识点。而是先用一个JDBC的小案例讲解了最初的程序的缺点:耦合性太高,然后又给出了一个解决方案:工厂模式,然后又指出了工厂模式的不便,进而引入了IOC的概念。

这种提出问题,然后一步步提出解决方案,然后又一步步优化方案的的讲解顺序,让我听得有理有据,也知道了Spring IOC的应用场景以及它要解决的问题。那种感觉用四个字就可以形容:豁然开朗。成功引入IOC的概念后,才开始讲解它的两种使用方式:基于XML的IOC、基于注解的IOC。然后就是更加零碎的知识点。

讲完了IOC的概念之后,老师也没有急着将AOP的概念以及它的使用方式都扔给你。而是同样的先讲了一个其他的问题:JDBC中的事务。如果在JDBC中给每一个Service层的方法都加上事务的话,会出现很多有结构的重复代码。对于这个问题,老师给出了一个解决方案:使用Java的动态代理机制,给每一个方法做一个增强。

这期间我又先去学习了Java的动态代理机制,等明白了它的原理(其实就相当于Python中的给方法添加装饰器,在不改变原有代码的基础上,对函数的功能做一个增强)之后,我又看了一遍引入AOP之前的那几个视频,当老师把AOP的概念讲出来之后,我又是同样的感受:豁然开朗,原来AOP是这么回事,其实就是Spring帮你实现了动态代理的代码,你只需要配置一下就可以使用了。

对AOP有一个宏观的概念之后,然后才开始讲解它的两种使用方式,基于XML的使用、基于注解的使用。最后又讲解了JDBCTemplate,这个模块其实是Spring帮我们简化了Java连接数据库的复杂性,作用与JDBCUtils类似。

**2.案例丰富,带你写代码。**在这套视频中,这老师大概新建了20多个Maven工程项目,真的是不厌其烦,手把手教。在此期间,我又去学习了Maven相关的知识,这工具与python中的pip类似,其中一大功能就是对Jar包进行管理,用Maven之前,你需要自己去下载第三方Jar包,然后再手动导入工程中。而使用了Maven之后,你只需要在poem.xml文件中配置一下依赖就可以了,比pip还好用。

在讲解案例的时候同样也使用了一环扣一环的方式将知识点娓娓道来。带你发现问题,解决问题。而且全程没有一句废话,我估计这视频是老师单独录的,不是在线下的班里录的,所以没有任何与班里同学互动的声音,很好。

今天刚刷完一遍,学的还不是很仔细,让我对Spring有了一个比较宏观的认识,但是学的时候基本都在跟着写代码,所以笔记整理的很少,接下来我将重新把Spring的知识点总结下来,把笔记写的详细一点,等学完Spring之后,继续学习Spring MVC。

最后给出视频的地址:https://www.bilibili.com/video/av47952931