SpringAOP

image.png
  1. 拦截器可以配置。Advice Advisor Interceptor
    Advice :方法加强的类。MethodBeforeAdvice , AfterReturningAdvice
    Advisor : Advisor中包括一个Advice。可以多配置一个属性mappedNames。用来表示加强哪些方法
    Interceptor: 拦截器。

  2. 2.1 @PointCut 用来表示切面,哪些类中的哪些方法需要加强。

    2.2
    @Before
    @After 类似于finally。无论正常返回还是抛异常都会经过该方法。
    @Aroud before+afterReturning
    @AfterThrowing
    @AfterReturning 加上returning="retVal"可以在方法中获取返回值。

  1. AspectJ 和 spring的aop没有直接关系。springAop只是引用了Aspect包中的注解,具体实现方式都在spring-aop中。但是AspectJ功能更强大。

4.所有的拦截之后的加强都是针对类来说的。spring中,将beanFactory中的原来的类替换成代理类。
在spring启动过程中,配置了@Aspect的类将会在spring中注册一个BeanPostProcessor,这个类在初始化对象的时候,将对象进行加强。

5.具体的生成代理类通过jdk代理或cglib。当配置了<aop:config proxy-target-class="true">后,默认直接使用cglib代理。如果没有该配置,则在类增强的时候,先判断该类是否实现了自定义的接口,如果实现了自定义接口则通过 jdk方式代理。若没有,则使用 cglib 基于继承的方式来代理。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 12,482评论 6赞 86
  • SpringAOP 博客链接 本文主要是解析Spring AOP的运作流程。上次讲到Java中的两种动态代理技术:...
    弟弟懂个机阅读 1,835评论 2赞 32
  • SpringAOP-PPT SpringAOP视频 面向切面编程(AOP)通过提供另外一种思考程序结构的途经来弥补...
    Grasse阅读 413评论 0赞 0
  • 大家好,我是IT修真院北京分院第31期的学员,一枚正直纯洁善良的JAVA程序员。今天给大家分享一下,修真院...
    ve追风_685b阅读 443评论 1赞 1
  • 阅读《人类简史》,发现人类在努力生活得更舒适更有效率的同时,也产生了一些不可避免的负面影响。对我们现代日常的生活很...
    私慧阅读 931评论 0赞 0

友情链接更多精彩内容