首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
spring5.1.X源码
Emanon
创建于2022-12-02
订阅专栏
spring5.1.X源码学习笔记与源码心得记录~
等 26 人订阅
共36篇文章
创建于2022-12-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
36.解析BeanDefinition
FactoryBean接口示例代码 所谓的Smart就是多了2个方法。 isPrototype默认返回值是false也就是默认是单例! isEagerInit默认返回值是false也就是默认是懒加载!
35.Spring事务传播源码
Spring事务是如何传播的? 前面有分析事务注解的解析过程,本质上是将事务封装为切面加入到AOP的执行链中,因此会调用到MethodInceptor的实现类的invoke方法。
34.Spring事务传播行为详解
Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。
33.Spring事务源码之整体流程
1获取可用advisor2.从advisor中获取advice适配为MethodInterceptor4.根据调用方法匹配所有的MethodInterceptor组成chain5.递归调用chain
32.Spring事务原理之@EnableTransactionManagement
Spring提供的AOP功能有两种实现方式,PROXY和ASPECTJ,默认值为AdviceMode.PROXY。一种主要靠JDK代理和CGLIB代理实现,另外一种是通过第三方框架ASPECT。
31.AOP源码之CGLIB动态代理与intercept方法调用
spring是如何利用cglib动态代理对容器中的bean增强?spring是如何获取到切面并使用切面组装成拦截器调用的呢?
30.AOP源码之JDK代理对象invoke方法调用
本文主要讲解使用jdk动态代理的对象,是如何获取到拦截器链,并且如何保证顺序执行拦截器链上的每一个拦截器。
29.AOP源码之JDK动态代理
Spring如何通过jdk动态代理生成的代理对象?jdk动态代理需要InvocationHandler,InvocationHandler从哪来?生成的代理类对象的源码如何查看?
28.AOP源码之创建代理工厂和AopProxy
如果isProxyTargetClass()是false一定用jdk。如果isProxyTargetClass()是true,但是目标类是接口或者是Proxy类型,仍会用jdk,否则cglib
27.AOP源码:寻找合适的Advisor
为什么AOP能生效?对象是如何被代理的?代理需要使用的切面是如何找到的?切面找到以后要怎么处理?如何判断切面和方法是否匹配?
25.AOP的第二个时机之BeanPostProcessor后置处理
代理对象需要引用被代理对象,那就需要在Bean初始化完成之后再对Bean做代理。我们需要在这个Bean被放入IOC容器之前生成它的代理对象,并代替原先的类放入IOC容器中。
24.AOP的第一个时机之resolveBeforeInstantiation
在spring aop中,如果我们的类属符合如下条件:被切面的pointcut匹配到、或者属于自定义的Advisor接口实现类,那么spring在bean完成实例化之后,会为类生成代理对象。这是众所周
23.spring利用CGLIB实现动态代理原理剖析
要想使用业务类的功能,必须先实例化。spring肯定不会直接new一个业务对象来管理,spring是通过动态代理技术完成业务类的实例化。
22.AOP概念、应用、原理
传统的OOP开发中的代码逻辑是自上而下的,而这些过程会产生一些横切性问题,这些横切性的问题和我们的主业务逻辑关系不大,如果硬编码实现会导致代码侵入性太强,耦合度太高!此时AOP就登场了~
21.循环依赖问题答疑
1级缓存放的是完整的Bean 2级缓存方法的是实例化好的代理Bean,但是没有经历过初始化 3级缓存放的是对象工厂
20.bean的生命周期和循环依赖源码
Spring Bean的生命周期指的是从一个普通的Java类变成Bean的过程。要理解bean的生命周期首先记住两个概念spring bean和对象。
19.什么是循环依赖?如何解决循环依赖?
两个类相互引用,就是循环依赖。 这两个类非常简单,就是相互引用了对方,也就是我们常常的说的循环依赖,spring是允许这样的循环依赖。
18.Spring创建Bean源码-创建bean,非常细!
本篇文章主要讲述了bean实例化的过程,对于bean的属性填充以及如何被代理包括切面、aop、事务、代理等,敬请关注后续文章。
17.Spring创建Bean源码-扫描BeanDefinition,非常细!
本篇文章主要是讲如何扫描各种bean对应的BeanDefinition。 @PropertySource、@CompentScan、@Import、@ImportResource、@Bean等
16.Spring创建Bean源码-注册配置类,非常细!
本篇文章主要是Spring创建Bean的以下流程: 1.创建AnnotationConfigApplicationContext 2.创建BeanDefinition的扫描器和读取器 3.注册配置类
下一页