@annotation AOP编程的pointcut定义方式

 更新时间:2025年08月16日 10:07:27   作者:RR1335  
文章介绍通过注解简化AOP复杂结构定义,避免繁琐的逻辑组合,提升开发效率,并展示IDE如何辅助查看切入点匹配

@annotation AOP编程的pointcut定义

通过 

 @Pointcut("execution(* biz.baijing.service.impl.DeptServiceImpl.*(..))")

在定义复杂结构的时候通过  || 或 && 等关系定义,会很繁琐。

  • 直接看代码
@Slf4j
@Component
@Aspect
public class TryLoggingAspect {

    // 切入点表达式,引用
    @Pointcut("@annotation(biz.baijing.aop.TryLogging)")
    public void poct() {}

    @Before("poct()")      // * 任意方法 , .. 形参任意
    public void before(){
        log.info("Before ...");
    }

    @After("poct()")
    public void after(){
        log.info("After ...");
    }
}

通过

@Pointcut("@annotation(biz.baijing.aop.TryLogging)")

定义

  • TryLogging 的代码
package biz.baijing.aop;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface TryLogging {
    //  示例
}

定义的 「注解」

定义到 service 方法上

m 又出现了 (

又 的前面出现在这里 AOP编程的基本概念与idea编辑器的配合体验

能看到作用到这个方法上的 pointcut 切入点的方法。

只要增加注解,就能匹配复杂的「切入点表达式」。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决SpringBoot引用别的模块无法注入的问题

    解决SpringBoot引用别的模块无法注入的问题

    这篇文章主要介绍了解决SpringBoot引用别的模块无法注入的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Springboot 2.x中server.servlet.context-path的运用详解

    Springboot 2.x中server.servlet.context-path的运用详解

    这篇文章主要介绍了Springboot 2.x中server.servlet.context-path的运用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 详细分析java线程wait和notify

    详细分析java线程wait和notify

    本篇文章是对java多线程wait()和notify()进行了详细的分析介绍,需要了解的朋友参考下
    2015-07-07
  • Java9新特性之命令行交互式解释器JShell全解析

    Java9新特性之命令行交互式解释器JShell全解析

    JShell是Java 9引入的交互式解释器,允许开发者在命令行中即时编译和运行Java代码片段,无需编写完整的类结构,它支持自动导入、变量和方法保留、错误处理等功能,本文给大家介绍Java9新特性之命令行交互式解释器JShell,感兴趣的朋友跟随小编一起看看吧
    2026-01-01
  • Java Swing JFrame窗口的实现

    Java Swing JFrame窗口的实现

    这篇文章主要介绍了Java Swing JFrame窗口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • MybatisPlus 自定义插件实现拦截SQL修改功能(实例详解)

    MybatisPlus 自定义插件实现拦截SQL修改功能(实例详解)

    这篇文章主要介绍了MybatisPlus 自定义插件实现拦截SQL修改功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • SpringBoot详解Banner的使用

    SpringBoot详解Banner的使用

    这篇文章主要介绍了超个性修改SpringBoot项目的启动banner的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • java随机验证码生成实现实例代码

    java随机验证码生成实现实例代码

    这篇文章主要介绍了java随机验证码生成实现实例代码的相关资料,需要的朋友可以参考下
    2017-05-05
  • java调用中国天气网api获得天气预报信息的方法

    java调用中国天气网api获得天气预报信息的方法

    这篇文章主要介绍了java调用中国天气网api获得天气预报信息的方法,可实现调用温度、风力风向及近期天气状况等功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • Spring Boot 整合 Reactor实例详解

    Spring Boot 整合 Reactor实例详解

    这篇文章主要为大家介绍了Spring Boot 整合 Reactor实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09

最新评论