Java 程序员的必修课之 Spring 理解透彻了吗?不会还咋去面试?
在实际研发中,Spring 是我们经常会使用的框架,毕竟它们太火了,Spring 相关的知识点也是面试必问点。
有次被问到 Spring IOC 的时候,就顺带打了个比方,IOC 类似于一个菜筐,以前需要自己去菜市场买菜,现在只要在家门口放一个菜框 applicationcontext.xml,就会有人来给你配菜。
除了 IOC 之外,AOP 也是 Spring 整个系列的核心的概念。简而言之,将对象创建过程的职责赋予容器,通过容器管理对象的生老病死。IOC 是 factory 加上依赖管理,通过 IOC, AOP 事实上形成了系统的整合。
简言之,Spring 早已成为 Java 后端开发的行业标准,大量公司选择 Spring 作为基础的开发框架, Java 后端程序员在日常工作中也会经常接触到。因此,如何用好 Spring ,也就成为了 Java 程序员的必修课之一。
但是在实际学习和使用的过程中,总是会免不了遇到这样一些问题:
在代码之外,看着一堆依赖和配置,总是有些摸不清方向;
看着这么多组件,总是不知道该从何入手;
网上找了一些教程,觉得写得很不错,但只是介绍了某一个框架,那在面对一打框架的时候,该怎么把它们结合到一起
所以,不仅要会用 Spring 框架,最重要的还是要解决平常在工作中的“怎么办”的问题?
比如说:
1、Spring 为什么要用“三级缓存”去解决循环依赖呢?每级缓存的作用是什么?如果去掉其中某一级缓存会出现什么问题?如果一个单例 bean 和原型 bean 相互依赖会有问题吗......
2、Mybatis 和 Spring 进行整合时用到了哪些扩展点?如何利用的?为什么 Mybatis 和 Spring 整合后 Mybatis 的一级缓存会失效?
评论