Spring 中Aop 注解开发

 1.先定义一个配置类

//先自定义配置类
@Configuration
@ComponentScan("woc")
//表示配置类中有aop注解
@EnableAspectJAutoProxy
public class conperi {
}

2.写一个接口a

public interface a {
    void a1();
}

3.写一个b类去实现a

@Controller
public class b implements a {
    @Override
    public void a1() {
        System.out.println("ddd");

    }
}

4.写一 c类aop去插入b类 a1方法中

package woc.huanrao;

import org.aopalliance.aop.Advice;
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;

import java.lang.invoke.MethodHandleInfo;
//让此类是当aop处理
@Aspect
//变成spring控制的bean
@Component
public class c {
    //切入点        描述  b类中a1的方法,也可以描述接口
    @Pointcut("execution(void woc.huanrao.b.a1())")
    private void jui(){}
    //通知
    @Around("jui()") //环绕通知
   //如果切入的 是方法是数据类型的,void为object类型或者 数据类型
  public  void ddd(ProceedingJoinPoint a) throws Throwable {
        System.out.println("dasdasdasdas");
        System.out.println(System.currentTimeMillis());
//进行分割环绕前后
        Object o = a.proceed();
        System.out.println(System.currentTimeMillis());
  //如果切入的是数据类型的方法 则必须有返回值 return
  //return o;

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值