![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
aop
文章平均质量分 81
sinat_33472737
这个作者很懒,什么都没留下…
展开
-
spring事务注解@Transactional
之前文章springAop原理之查找和原始bean关联的Advisor.已经分析了spring如何查找和判断Advisor是否和原始Bean关联,这里以BeanFactoryTransactionAttributeSourceAdvisor(事务注解关联的Advisor)为例,具体分析下最后一个canApply方法。ClassFilterBeanFactoryTransactionAttributeSourceAdvisor的切点为TransactionAttributeSourcePointcut原创 2022-04-29 21:37:45 · 676 阅读 · 0 评论 -
springAop原理之(二)Advisor、pointcut接口族介绍
Advisor:包含AOP通知的基本接口(在连接点采取的操作)和一个确定建议的适用性的过滤器(例如一个切入点)。这个接口不是供Spring用户使用的,而是允许在支持不同类型的通知时具有通用性。Spring AOP基于通过方法拦截的环绕通知传递,符合AOP联盟拦截API。Advisor接口支持不同类型的建议,如之前和之后的通知,不需要使用拦截实现。PointcutAdvisor:由切入点驱动的所有Advisor的超级接口。这几乎涵盖了除introduction advisors以外的所有原创 2022-04-29 10:23:52 · 1631 阅读 · 0 评论 -
springAop原理之(四)查找和原始bean关联的Advisor
spring如何判断bean是否需要被代理spring在创建完bean后,需要判断是否需要给当前bean创建代理对象。initializeBean时会调用applyBeanPostProcessorsAfterInitialization方法,该方法会调用所有BeanPostProcessor的postProcessAfterInitialization。AbstractAutoProxyCreator就是一个BeanPostProcessor,该类的postProcessAfterInitiali原创 2022-04-29 10:19:15 · 1081 阅读 · 0 评论 -
springAop原理之(五)创建代理bean及其代理bean方法具体执行过程
上一篇文章https://blog.csdn.net/sinat_33472737/article/details/105414097我们了解到了spring是如何把Advisor关联起来的,wrapIfNecessary部分源码// Create proxy if we have advice.//获取bean有关的AdvisorObject[] specificIntercepto...原创 2020-04-10 17:23:41 · 765 阅读 · 0 评论 -
springAop原理之(三)Advised接口族
Advised:已经被建议的对。指的就是advice和Pointcut被Advisor关联了起来。这些Advisor会和aop代理的target绑定,当aop代理执行某一个方法是,会从所有的Advisor中匹配出和该方法匹配的Advoisor,这些Advisor会被包装厂MethodInterceptor返回。JdkDynamicAopProxy或基于CGLIB的ObjenesisCglibA...原创 2020-04-02 13:36:22 · 932 阅读 · 0 评论 -
springAop原理之(一)aopalliance 源码浅析
aopalliance项目是几个对AOP和Java感兴趣的软件工程人员之间的联合开源项目,里面包含了针对面向切面的顶层接口。里边包含了8个接口和1个异常类。Advice(通知):切面在特定连接点上采取的操作。不同类型的建议包括“前后”、“前后”的建议。许多AOP框架,包括Spring,将通知建模为拦截器,并维护围绕连接点的拦截器链。Advice接口只是一个标记接口,Interce...原创 2020-03-19 11:25:41 · 432 阅读 · 0 评论