zoukankan      html  css  js  c++  java
  • AOP——基于AspectJ的注解来实现AOP操作

    1、使用注解方式实现AOP操作

      第一步:创建对象

    <!-- 创建对象 -->
    <bean id="book" class="com.bjxb.aop.Book"></bean>
    <bean id="myBook" class="com.bjxb.aop.MyBook"></bean>

      第二步:在 Spring 核心配置文件中,开启AOP操作

    <!-- 开启aop操作 -->
    <aop:aspectj-autoproxy></aop:aspectj-autoproxy>

      第三步:在增强类上面使用注解完成AOP操作

    @Aspect
    @Component
    public class MyBook { // 在方法上面使用注解完成增强的配置 @Before(value="execution(* com.bjxb.aop.Book.*(..))") public void before1() { System.out.println("before1........"); } }

      注意:

      我们一定要在切面类上加@Component注解,而且要开启包扫描到当前切面所在路径。

      因为@Aspect注解不是Spring的注解,该类并不能被识别。

    @AspectJ提供的不同的通知类型

    1、@Before 前置通知,相当于 BeforeAdvice

    2、@AfterReturning 后置通知,相当于 AfterReturningAdvice

    3、@Around 环绕通知,相当于 MethodInterceptor

    4、@AfterThrowing 抛出通知,相当于 ThrowAdvice

    5、@After 最终通知,不管是否异常,该通知都会执行

  • 相关阅读:
    存在和本质
    数据库的日志机制
    【msql】关于redo 和 undo log
    乐观锁是基于比较的无锁并发控制机制
    两段锁协议和防止死锁的一次封锁法
    并发编程沉思录
    什么是B-Tree
    二叉树与b树的性能区别:计算、层级与io
    认知模型
    复杂性、认知与心理学
  • 原文地址:https://www.cnblogs.com/xb1223/p/10171159.html
Copyright © 2011-2022 走看看