Spring 源码分析
文章平均质量分 97
轻量级控制反转(IoC)和面向切面(AOP)的容器框架
Tellsea
世界上只有10种人,一种懂二进制,一种不懂
展开
-
【Spring源码分析】10、Spring 事物 案例学习、原理分析、源码分析
1、Spring 事物管理(1)四种事物特性ACID事务达到的目的就是要么一起成功,要么一起失败特性描述原子性(atomicity)强调事务的不可分割一致性(consistency)事物结束后系统状态是一致的隔离性(isolation)一个事务的执行的过程中,不应该受到其他事务的干扰持久性(durability)事务一旦结束,数据就持久到数据库在一个应用中,多个事物同时运行,经常会操作同一个数据,数据库的隔离性和并发控制有很大的关系,并发虽然是需要的原创 2020-09-10 11:33:33 · 489 阅读 · 0 评论 -
【Spring源码分析】9、Spring AOP 案例学习、原理分析、源码分析
文章目录Spring AOP(1)Spring AOP概念(2)Spring AOP术语(3)Spring AOP通知类型Spring AOP(1)Spring AOP概念Spring的关键组件之一是AOP框架。虽然Spring IoC容器不依赖于AOP(这意味着如果您不想使用AOP,就不需要使用AOP),但AOP对Spring IoC进行了补充,提供了一个非常强大的中间件解决方案。下面列举了aop的核心属于,这些术语并不是spring特有的,spring也有自己的术语,但是很反人类。spring a原创 2020-09-09 10:43:10 · 915 阅读 · 0 评论 -
【Spring源码分析】8、Spring 三级缓存定义、作用、常见问题分析
文章目录1、Spring 三级缓存(1)三级缓存的定义(2)三级缓存的作用(3)为什么需要三级缓存?5、相关源码以及交流群1、Spring 三级缓存spring三级缓存到这里做一个小结,总体说一下三级缓存的作用以及具体的使用,因为上节的【利用三级缓存解决循环依赖问题】中, 疯狂使用了三级缓存,而且没有详细介绍内容,这里统一分析(1)三级缓存的定义看源码的DefaultSingletonBeanRegistry中有三个Map对象,通常情况下,网上的教程称singletonObjects为一级缓存,ea原创 2020-09-08 16:03:15 · 3668 阅读 · 0 评论 -
【Spring源码分析】7、Spring 利用三级缓存解决循环依赖问题分析(面试热点)
文章目录1、提出循环依赖问题(1)问题描述2、循环依赖问题分析(1)spring逻辑分析3、相关源码以及交流群1、提出循环依赖问题Spring怎么解决循环依赖问题?这是spring一个非常典型的面试题,堪比spring生命周期一样常问(1)问题描述下面通过一个简单的spring bean互相注入的案例,引入循环依赖问题。首先我们准备四个类,配置类,IndexService,UserService,测试类,然后使用IndexService注入UserService,UserService注入Ind原创 2020-08-31 10:00:49 · 1207 阅读 · 0 评论 -
【Spring源码分析】6、Spring Bean 以及组件常见注册方式案例分析
1、Spring 给容器中注册组件2、@Configuration 和 @Bean3、 @ComponentScan@ComponentScan 能自动扫描组件和指定扫描规则(1)@ComponentScan 的使用(2)自定义 TypeFilter 指定过滤规则4、@Scope-设置组件作用域5、@Lazy bean懒加载6、@Conditional 按照条件注册 bean7、@Import 给容器中快速导入一个组件@Import 给容器中快速导入一个组件(2)@Import 的使用原创 2020-08-27 17:44:14 · 672 阅读 · 0 评论 -
【Spring源码分析】5、Spring 组件的执行顺序排序,相关排序类源码分析
文章目录1、Spring 执行顺序排序(1)Ordered接口分析(2)PriorityOrdered接口分析(3)OrderComparator类分析5、相关源码以及交流群1、Spring 执行顺序排序Spring是一个大量使用策略设计模式的框架,这意味着有很多相同接口的实现类,那么必定会有优先级的问题,spring为了解决排序问题,提供了Ordered接口(1)Ordered接口分析Ordered接口源码,很简短,就定义了一个Ordered接口,然后两个常量,分别对应最高级(数值最小)和最低级(原创 2020-08-18 14:46:10 · 1417 阅读 · 0 评论 -
【Spring源码分析】4、Spring Bean 生命周期扩展点 PostProcessor 和 Aware 分析
1、Spring Bean 生命周期扩展点spring bean的整个生命周期中穿插了各种各样的组件,工具等信息,spring在各个阶段也为我们提供了各式各样的扩展点,其中最核心的分为两大类,PostProcessor接口的实现类和Aware接口的实现类(1)PostProcessor接口类PostProcessor接口常用类分为两种,一种是BeanPostProcessor,另一种是BeanFactoryPostProcessor,我这里只是举例说明常用的类有哪些,实际上实现类是非常多的,其中相关常原创 2020-08-15 10:41:01 · 1860 阅读 · 0 评论 -
【Spring源码分析】3、Spring Bean 生命周期源码案例分析(面试热点)
文章目录1、spring bean宏观分析生命周期(1)生命周期四个阶段(2)完整生命周期流程图(3)接口方法分类2、spring bean生命周期源码分析(1)doCreateBean方法分析(2)doClose方法分析3、spring bean生命周期执行案例(1)自定义Bean,实现Aware相关接口、Bean相关接口(2)自定义BeanFactoryPostProcessor并重写相关方法(3)自定义BeanPostProcessor并重写相关方法(3)自定义InstantiationAwareBe原创 2020-08-13 16:33:59 · 1406 阅读 · 0 评论 -
【Spring源码分析】2、Spring 传统开发转为注解驱动开发
传统开发转为注解驱动开发在实际项目开发过程中,最明显的就是体现在ssm项目转变为springboot项目,原本各式各样的配置文件等,全部被取消了,从而采用零配置文件的方式进行开发。也就是使用java代码的形式进行配置,以下全文分析怎么从传统开发转为注解驱动开发,也就是说,怎么将配置文件一步步转变为注解的形式进行开发原创 2020-08-12 17:08:48 · 570 阅读 · 0 评论 -
【Spring源码分析】1、IDEA导入spring-framework-5.2.8.RELEASE源码构建本地阅读环境
文章目录1、构建初始化工作2、构建spring源码到本地10、Spring-Framework 各个模块的作用1、构建初始化工作相关软件版本必须一致,否则会产生各种不必要的错误等JDK 1.8Gradle-5.6.4(可以查看gradle/wrapper/gradle-wrapper.properties文件中配置的版本,官方提供的是radle-5.6.4)IntelliJ IDEA 2019.1 x64 以上2、构建spring源码到本地最新源码地址最新稳定版源码地址(推荐)将源原创 2020-08-05 15:15:01 · 6675 阅读 · 7 评论 -
【Spring源码分析】目录
文章目录【Spring源码分析】系列文章【MySQL学习】系列文章QQ交流群【Spring源码分析】系列文章纯属个人学习,如有错误,请联系我及时更正,谢谢【Spring源码分析】Github源码地址【Spring源码分析】1、IDEA导入spring-framework-5.2.8.RELEASE源码构建本地阅读环境【Spring源码分析】2、Spring 传统开发转为注解驱动开发【Spring源码分析】3、Spring Bean 生命周期源码案例分析(面试热点)【Spring源码分析】4、原创 2020-07-09 16:01:20 · 1088 阅读 · 1 评论