![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringAop
vinylon1022
这个作者很懒,什么都没留下…
展开
-
SpringAop七、AOP运行时
之前说过jdk的动态代理运行时就是关注对应的InvocationHandler实现,这里就是JdkDynamicAopProxy类,运行时看invoke方法@Override@Nullablepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable { MethodInvocation invocation; Object oldProxy = null; boolean set原创 2020-12-04 09:53:48 · 157 阅读 · 0 评论 -
SpringAop六、AnnotationAwareAspectJAutoProxyCreator处理器后置方法
@Overridepublic Object postProcessAfterInitialization(@Nullable Object bean, String beanName) { // AOP的后置处理器,判断是否需要代理,如果需要则创建动态代理类 if (bean != null) { Object cacheKey = getCacheKey(bean.getClass(), beanName); // 不存在,准备代理 if (this.e原创 2020-12-04 09:44:41 · 126 阅读 · 0 评论 -
SpringAop五、AnnotationAwareAspectJAutoProxyCreator处理器前置方法
先上一个AnnotationAwareAspectJAutoProxyCreator处理器的类图主要关注左半部分处理器接口,重点是InstantiationAwareBeanPostProcessor接口定义的postProcessBeforeInstantiation和postProcessAfterInstantiation方法,即Bean实例化前和实例化后处理方法。postProcessBeforeInstantiation前置方法@Overridepublic Object postPro原创 2020-12-04 09:36:07 · 140 阅读 · 0 评论 -
SpringAop四、开启AOP功能
先讲一下如何引入AOP功能第一步就是引入包了,一般在Spring环境下首先需要依赖spring-context,而spring-context是引入了AOP的,因此一般spring环境是直接有aop的包依赖的。第二步启用aop功能,常见3种方式:使用springboot的情况下直接引入aop的starter即可使用xml配置的形式,主配置文件中添加 <aop:aspectj-autoproxy/><xsd:element name="aspectj-autoproxy">原创 2020-12-04 09:22:30 · 2357 阅读 · 0 评论 -
SpringAop三、几个概念
PointCut 切点可以插入增强处理的连接点。Aspect 切面是通知和切点的结合。核心概念Advice通知器SpringAOP的核心概念,用户定义的@Around、@Before、@After、@AfterReturning、@AfterThrowing在处理器处理时都会包装成对应的Advice对象,Advice中持有@Pointcut切入点,以及定义的解析器, 来确定某个方法需要被哪些类Advice处理。Advice 通知类 – Advisor实例对象对应关系:注:包装拦截器运原创 2020-12-04 08:50:58 · 100 阅读 · 0 评论 -
SpringAop二、AOP的基本思想以及SpringAOP的实现脑图
AOP概念AOP (Aspect Orient Programming),直译过来就是 面向切面编程。AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各个层次的对象,而面向切面编程是将程序抽象成各个切面。从该图可以很形象地看出,所谓切面,相当于应用对象间的横切点,我们可以将其单独抽象为单独的模块。SpringAop的实现脑图...原创 2020-12-04 08:47:34 · 131 阅读 · 0 评论 -
SpringAop一、代理模式和动态代理
在要搞明白spirngAOP之前,需要先了解代理模式,以及动态代理的两种实现方式。代理模式静态代理由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。代理模式的主要优点有:代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用;代理对象可以扩展目标对象的功能;代理模式能将客户端与目标对象分离,在一定程度上降低了系统的耦合度,增加了程序的可扩展性其主要缺点是:代理模式会造成系统设计原创 2020-12-04 08:43:13 · 91 阅读 · 0 评论