spring容器如何加载切面对象before

首先我们需要在springmvc或者springboot项目中导入aop的包,这里以springboot来讲解


   org.springframework.boot
   spring-boot-starter-aop

具体版本由继承的parent来确定

第二我们需要在启动类中放入注解 @EnableAspectJAutoProxy,我们点开这个注解后就会发现里面有个@Import,主要就是看import所导入的包spring容器如何加载切面对象before_第1张图片(如果不知道这个东西的功能可以去百度一波,我就不详细解释)

点开AspectJAutoProxyRegistrar.class,点开后会发现这段代码spring容器如何加载切面对象before_第2张图片

看红框的那块区域,真正实现的方法就是这个,注册切面注释自动代理如果有需要

进去之后点下去会找到以下方法,传入了一个AnnotationAwareAspectJAutoProxyCreator.class,实际注册的环境定义也是这个对象

spring容器如何加载切面对象before_第3张图片

registerOrEscalateApcAsRequired中讲查询到的切面对象注册到了bean容器中,名称为AUTO_PROXY_CREATOR_BEAN_NAME在静态中的名称是org.springframework.aop.config.internalAutoProxyCrea

你可能感兴趣的:(spring-aop,spring-aspect,java)