spring-aop
奈文摩尔_NerverMore
热爱技术,喜欢写代码
展开
-
spring mvc 父子容器AOP-建言者(切面,事务)的继承
spring 是含有父子容器的机制的,特别是在使用springmvc的情况下,父子容器是非常容易出现的,也是大家常用的。那么父子容器之间的关系到底是怎么样的呢。 之前听说和看别的文章说,springmvc中父容器事务不起效,不要使用父子容器都加载配置信息等,这些会在本文中揭开疑惑。 所以提出了几个疑问,父子容器之间的关系是怎样生成的,父子容器之间的关系是什么样的,父子容器方面有什么特殊实现呢(特原创 2017-01-12 15:23:15 · 3216 阅读 · 1 评论 -
spring代理工厂类图
最近在整理和复习spring事务控制,顺便复习了下spring aop,也顺便调整下博客的风格。 这个系列包括 (1)spring 代理工厂 (2)spring 代理的类图 (3)spring事务的配置 (4)spring事务拦截器实现 本文中希望达到的目标: 通过类图展示出spring代理工厂是怎么实现的、主要方法都有哪些,都依赖什么核心类,这些类的职责是什么及使用场景,希望能从类图原创 2017-06-02 17:48:10 · 1018 阅读 · 0 评论 -
spring代理的类图
希望达到目的: spring两种代理的区别(间接说明spring代理的选择),两种代理的核心依赖 从图中看出JdkDynamicAopProxy和CglibAopProxy区别在于CglibAopProxy是使用Enhancer(spring asm技术生成代理对象)而JdkDynamicAopProxy是InvocationHandler接口的实现(是基于JDK 动态代理实现的)这也是Defa原创 2017-06-02 17:58:14 · 698 阅读 · 0 评论 -
spring事务拦截器类图
从图中看出,TransactionInterceptor是MethodInterceptor更是Advice的实现类,说明spring事务一定是基于方法。 Interceptor拦截器是Advice建言的扩展子接口,虽然啥都没实现。 MethodInvocation 是aop用来方法调用的接口。上图中说过jdk和cglib动态代理中有个核心依赖的ReflectiveMethodInvocatio原创 2017-06-02 18:38:47 · 1100 阅读 · 0 评论 -
spring事务建言者创建类图
从图中看出,spring 建言者有一个子类PointcutAdvisor是一个持有pointCut的建言者。也就是这个建言者可以针对不同的场景进行生效。 PointCut是根据类和方法拦截的一个拦截配置定义类。 AbstractBeanFactoryPointcutAdvisor 是PointcutAdvisor的工厂模板类负责提供建言,pointCut BeanFactoryTransact原创 2017-06-02 18:21:05 · 443 阅读 · 0 评论