Spring学习:Spring的AOP注解

本文介绍了Spring AOP的注解使用,包括增强类(Advice)的定义,如何将Advice加载到AOP容器,切入点和增强方法的定义,以及在XML文件中动态创建代理对象的步骤。重点讲解了@Aspect、@Component、@Pointcut和各种增强方法注解的用法。
摘要由CSDN通过智能技术生成

一、简介

Spring Aop的注解是在IOC注解基础上,重点突出增强类(Advice)的注解,一个增强类可以看成是一个切面(Aspect),因此,Aop注解的学习,基本上可以是看成增强类所用到的注解的学习。重点需要掌握了解以下几个知识点:

  1. 增强类定义为组件Bean的同时,还需要定义为增强类(切面)的Bean,因此,他需要在@Componen的基础上,再加上注解@Aspec;
  2. 增强类中的增强方法上,可以用注解来定义这个增强方法可以用在哪些切入点上;
  3. 切入点可以映射到一个方法中,这个方法可以是Advice(增强类)中的一个方法,也可以自定义类中定义的一个静态方法,如果切入点还要引入到别的增强类,那么建议使用自定义类的静态方法做为切入点的引用;
  4. 由于目标对象(被代理对象)以及增强类都被加载到AOP容器中,且这个Bean和Aspect都存在注解对这两个Bean的说明,因此,在xml文件中,产生代理对象只需一句代码;

二、增强类(Advice)加载到AOP文件中

Advice是一个增强类,加载到AOP容器的时候,需要配置两个注解。一是他作为一个正常的Bean的注解@Component,另一个是作为一个切面(Advice)@Aspect,具体示例代码如下:


import aop3.pos.StringToUserPropertiesEditor;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature;
import org.aspectj.lang.annotation.*;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Component;


@Component
@Aspect
public class UserAop5Advice {
   
    // TODO: 2021/6/30 将增强类中的增强方法做为代理对象方法的前置增强 ,切入点的定义是在一个类中,用静态方法引入了切入点
    @Before(value = "UserAspect.aspect()")
    public void 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值