用自己语言介绍Spring AOP事务原理
1.Spring容器在加载业务bean之前他会通过refresh往容器中注入一些后置处理器对象,这些对象在加载业务bean时他会给bean做拦截、增强等功能,从断点监控上来看,内置的后置处理器有18个,当bean的属性赋值完毕后,则利用后置处理器的before和after方法进行代理增强,当然属性赋值也是利用后置处理器来完成的,具体的bean如下图:...
·
1.Spring容器在加载业务bean之前他会通过refresh往容器中注入一些后置处理器对象,这些对象在加载业务bean时他会给bean做
拦截、增强等功能,从断点监控上来看,内置的后置处理器有18个,当bean的属性赋值完毕后,则利用后置处理器的before和after方
法进行代理增强,当然属性赋值也是利用后置处理器来完成的,具体的bean如下图:
在Spring ioc容器中注入对象的过程中,在调用bean的无参构造函数之后会调用
populateBean()方法来进行属性赋值,也就是对象的依赖注入
属性赋值完毕之后就像对象的初始化工作,
initializeBean()
其实就是调用了后置处理器的前后拦截方法,
那么问题来了,Spring 是如何识别一个service加入了事务的注解,并且需要生成代理,下面方法用来进行判断的
首先是获取所有的增强器,然后判断当前来是否符合该增强器
具体参考:https://blog.csdn.net/hu619016140/article/details/100524930
更多推荐
已为社区贡献4条内容
所有评论(0)