自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 @Transactional注解底层原理

在这里我们就可以看到了事物执行的核心方法了,首先获取事物属性源,然后在获取事物属性对象,不晓得大家有没有发现,这里的获取事物属性源,和获取事物属性对象,都是上面判断当前增强器是否适用于当前目标类的方法;然后判断是否有事物增强器,如果没有,直接执行目标方法,如果有,则执行拦截增强;在这里同样,先寻找当前项目中所有的事物增强器,然后寻找试用与当前目标类的事物增强器,在这里寻找所有的事物增强器的流程,跟Aop的流程差不多,这里我们就不在看寻找所有增强的流程了,这里我们看一下。

2023-08-18 16:44:43 602 1

原创 spring的AOP底层原理

在这里,我们看到第二次,走增强方法的时候,走到返回通知的方法,在Aop里面,返回通知里面的增强方法,是不管目标方法是否报错,都会执行的方法,在这里,我们可以看到返回通知里的方法确实也是这样,不管mi.proceed()主干流程方法是否会报错,到最后,都会执行finally中的方法,然后继续回到proceed()方法(注意,在这几次走增强方法时,每个增强方法都没执行完,然后就继续调用了proceed方法,这就是springAop执行增强方法的巧妙之处,感兴趣的读者可以下来自行了解)

2023-08-14 17:28:44 201

原创 代理模式ing

但是对于厂家来说,他自己又不可能一个一个的去买,因为目前厂家生产了一大批货,对于厂家来说他自己一个一个的去买,不仅时间要得久不说,而且成本还高(一个地方肯定卖不完厂家生产的东西,那厂家为了买完自己生产的商品,就只有去其它地方去买,去其它地方去买,肯定就要增加成本,而且还增加风险);此时厂家,深信一句话:"专业的事情,还需要专业的人来做",既然买商品不是厂家的专业,那就找一个专业的人,而此时淘宝,就是一个非常专业的买商品平台,所以厂家就找到淘宝平台,然后跟淘宝谈合作,希望淘宝能够帮助厂家买掉他们的商品;

2023-07-19 15:38:43 58

原创 spring解决循环依赖

然后现在A中注入了属性B,B中又注入了属性A,然后spring在创建A的时候(属性注入的时候),发现依赖了B类,因为此时B还没有创建,所以此时spring就会去创建B,然后在创建B的时候,又发现B又依赖了A,因为此时A还没有创建完成,还在创建中(还在依赖B中),就相当于spring此时也没有A,所以此时又会去创建A,这样就产生了一个无限循环;然后在此时,就调用执行三级缓存中的lamda表达式,执行完之后,就是经过了AOP的bean了,就是我们想要的bean了,那么就将改bean返回,且放入二级缓存中(

2023-06-21 11:59:41 209

原创 spring底层分析(bean的加载流程)

transformedBeanName(name)方法:解析name获取真正的beanName,因为传进来的name,有可能是真正的beanName,也有可能是FactoryBean创建的bean然后对应的name,也有可能是bean的alias(bean的别名),无论是这三则那个也好,对于spring来说,它需要的是beanName。spring的bean的加载,说得通俗一点,就是我们通过spring容器,获取到我们想要的bean,而在这个获取过程,spring 做的事情,就是bean的加载;

2023-06-19 13:50:05 350

原创 spring底层分析(加载 - 解析 - 生成beanDefinition对象)

进入到refresh()方法后,我们可以看到有一堆方法,此时可能有的同学就会有点慌了,一堆方法,我怎么知道那个方法是做什么功能的;:通过这个方法spring就可以将配置文件读取到spring内部了 (对于我们编写的java开发所需要的一切东西(不一定准确哈,我在这里主要想表达我们的.xml是一个文件),皆是一文件保存下来的,不论是.html也好,还是.xml文件也好,还是.java文件也好,都是文件,只是其对应的文件格式不同,但本质是文件)进入到spring容器后,我们可以看到,这里就三个方法;

2023-05-29 16:51:24 186 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除