![](https://img-blog.csdnimg.cn/20190812142958951.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring源码之AOP
简单的分析关于spring的aop源码过程
莫失莫忘hh
保持学习,保持充实
展开
-
再谈“事务那点事儿”、咱试一试手写事务AOP
前言 本篇文章将尝试回答下面几个问题: 1、不通过框架、原生的JDBC如何写,如何实现事务呢? 2、如何使用spring框架进行jdbc 并控制事务、底层原理如何? 3、利用AOP、自己实现一个@MyTransaction事务控制注解! 1.创建一个Spring Boot测试项目 进行事务控制需要导入spring-boot-starter-jdbc依赖pom文件如下(包含其他相关依赖): <...原创 2020-02-19 15:22:44 · 382 阅读 · 0 评论 -
Spring的AOP源码分析(四)目标方法执行
上一篇博客中aop代理对象。介绍了容器会针对需要被加强的对象,从而创通过jdk代理或cjlib代理,创建出代理对象。本篇文章接着上一篇继续介绍,目标方法是如何执行的。 代理对象中包含一个增强器数组,里面包含着我们定义的4个增强通知方法方法(如下图)。 还包含其他的详细信息,如目标对象 ...原创 2019-08-12 11:26:00 · 671 阅读 · 0 评论 -
Spring的AOP源码分析(三)代理对象的创建
上一篇文章介绍了后置处理器在容器中的作用,本文章将记录后置处理器是如何处理bean的创建的,代理对象是如何被创建。 1、postProcessBeforeInstantiation方法 之前介绍到了创建bean之前会先尝试返回一个代理对象而执行resolveBeforeInstantiation操作。该方法就会遍历所有后置处理器,调用InstantiationAwareBeanPostProces...原创 2019-08-11 00:13:39 · 465 阅读 · 0 评论 -
Spring的AOP源码分析(二)AnnotationAwareAspectJAutoProxyCreator工作原理
上一篇AOP文章中中介绍了@EnableAspectJAutoProxy注解的作用是在容器中添加了AnnotationAwareAspectJAutoProxyCreatorbean的定义信息。因为它是后置处理器,所有在容器执行registerBeanPostProcessors(beanFactory)方法时候会创建它。然后本文将介绍这个类在容器中其了什么作用。 1、AnnotationAwar...原创 2019-08-10 22:25:20 · 444 阅读 · 0 评论 -
Spring之AOP初体验
记录笔记 面向切面编程AOP 它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块 。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可 维护性。 如一些模块要进行日志操作,这属于不同模块中相同的逻辑操作,就可以用aop的方式,给这个模块横...原创 2019-08-09 20:48:37 · 355 阅读 · 0 评论 -
Spring的AOP源码分析(一)@EnableAspectJAutoProxy
1、源码分析 (1)@EnableAspectJAutoProxy 【开启基于注解的aop模式】 进入这个注解,它通过@Import标签向容器当中导入了一个注册器。AspectJAutoProxyRegistrar @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Import(AspectJA...原创 2019-08-10 10:14:31 · 1134 阅读 · 1 评论