Spring
Spring框架是大家学习后续其他框架的基础吧,建议大家好好学习,有时间和精力的可以结合视频去看看源码,对自己的提升还是很不错的。在阅读源码的过程中可以自己画一些流程图之类的,加深自己的理解。下图就是我当时在看源码视频跟着画的图,画完后感觉印象很深,在面试的是就可以跟面试官说你看过Spring某一块的源码,这绝对是一个加分项!
1 Spring框架了解吗?说说它的优缺点
回答:Spring 是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。
一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是:核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。比如:Core Container 中的 Core 组件是Spring 所有组件的核心,Beans 组件和 Context 组件是实现IOC和依赖注入的基础,AOP组件用来实现面向切面编程。
Spring 官网列出的 Spring 的 6 个特征:
- 核心技术 :依赖注入(DI),AOP,事件(events),资源,i18n,验证,数据绑定,类型转换,SpEL。
- 测试 :模拟对象,TestContext框架,Spring MVC 测试,WebTestClient。
- 数据访问 :事务,DAO支持,JDBC,ORM,编组XML。
- Web支持 : Spring MVC和Spring WebFlux Web框架。
- 集成 :远程处理,JMS,JCA,JMX,电子邮件,任务,调度,缓存。
- 语言 :Kotlin,Groovy,动态语言。
Spring框架的好处?
- 轻量级:Spring框架是轻量级的,最基础的版本大约只有2MB。
- 控制反转(IOC):通过控制反转技术,实现了解耦合。对象给出它们的依赖,而不是创建或查找依赖的对象。
- 面向切面(AOP):Spring支持面向切面的编程,并将应用程序