返回顶部
首页 > 资讯 > 精选 >springboot怎么实现对注解的切面
  • 610
分享到

springboot怎么实现对注解的切面

2023-06-22 08:06:32 610人浏览 薄情痞子
摘要

本篇内容介绍了“SpringBoot怎么实现对注解的切面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!对注解实现切面案例:(1)定义一个注解

本篇内容介绍了“SpringBoot怎么实现对注解的切面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

对注解实现切面案例:

(1)定义一个注解

@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface MyAnnotation {    String getValues() default "test annotation";}
@Target(ElementType.METHOD)

表示该注解作用在方法上(type表示类上,field表示成员变量上)

@Retention(RetentionPolicy.RUNTIME)

表示该注解的作用范围,由于需要在运行时能够识别到该注解,所以是RUNTIME(SOURCE表示源码层面上,即编译成.class时看不见该注解,而CLASS可以,但是在运行时看不到)

(2)编写对注解的切面

(只是记录的执行时间和打印方法,可以实现其他逻辑)

@Aspect@Component@Slf4jpublic class MyAspect {    // value也可以写成value = "(execution(* com.sj..*(..))) && @annotation(zkDistributeLock)"    @Around(value = "@annotation(myAnnotation)", argNames = "proceedingJoinPoint, myAnnotation")    public Object processTest(ProceedingJoinPoint proceedingJoinPoint, MyAnnotation myAnnotation) throws Throwable {        long beginTime = System.currentTimeMillis();        // 获取方法参数        Object[] args = proceedingJoinPoint.getArgs();        // 执行方法        Object res = proceedingJoinPoint.proceed(args);        long time = System.currentTimeMillis() - beginTime;        MethodSignature signature = (MethodSignature) proceedingJoinPoint.getSignature();        String className = proceedingJoinPoint.getTarget().getClass().getName();        String methodName = signature.getName();        log.info("注解上的值:{}", myAnnotation.getValues());        log.info("执行时间:{}", time);        log.info("执行类和方法:{} {}", className, methodName);        return res;    }}

(3)测试

@GetMapping("/Go")@MyAnnotation(getValues = "success")public String test1() {    return "hello world";}

执行结果:

注解上的值:success

执行时间:8

执行类和方法:com.***.TestController test1

springboot怎么实现对注解的切面”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: springboot怎么实现对注解的切面

本文链接: https://lsjlt.com/news/303534.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • springboot怎么实现对注解的切面
    本篇内容介绍了“springboot怎么实现对注解的切面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!对注解实现切面案例:(1)定义一个注解...
    99+
    2023-06-22
  • springboot实现对注解的切面案例
    对注解实现切面案例: (1)定义一个注解 @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public...
    99+
    2024-04-02
  • SpringBoot自定义注解之实现AOP切面日志详解
    通过自定义注解的方式(如:@SysLog(obj = "操作对象", text = "操作内容"),在 SpringBoot 中来实现 AOP...
    99+
    2024-04-02
  • springboot使用自定义注解实现aop切面日志
    平时我们在开发过程中,代码出现bug时为了更好的在服务器日志中寻找问题根源,会在接口的首尾打印日志,看下参数和返回值是否有问题。但是手动的logger.info() 去编写时工作量较...
    99+
    2024-04-02
  • springboot怎么集成@DS注解实现数据源切换
    这篇文章主要介绍“springboot怎么集成@DS注解实现数据源切换”,在日常操作中,相信很多人在springboot怎么集成@DS注解实现数据源切换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”sprin...
    99+
    2023-06-29
  • 怎么实现SpringBoot的底层注解
    本篇文章为大家展示了怎么实现SpringBoot的底层注解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、@Configuration注解1、基本使用自定义配置类@Configuration(pr...
    99+
    2023-06-15
  • SpringBoot利用切面注解及反射实现事件监听功能
    目录前言效果图监听原理核心源码源码地址前言 当某个事件需要被监听的时候,我们需要去做其他的事前,最简单的方式就是将自己的业务 方法追加到该事件之后。 但是当有N多个这样的需求的时候我...
    99+
    2024-04-02
  • Springboot通过切面,实现超灵活的注解式数据校验过程
    目录通过切面,实现超灵活的注解式数据校验Spring MVC的校验方式通过切面实现自己的注解式数据校验Spring boot aop注解数据权限校验注解类AOP切面使用通过切面,实现...
    99+
    2024-04-02
  • springboot实现基于aop的切面日志
    本文实例为大家分享了springboot实现基于aop的切面日志的具体代码,供大家参考,具体内容如下 通过aop的切面方式实现日志 通切面拦截所有指定包下的所有方法 @Aspect ...
    99+
    2024-04-02
  • Spring AOP使用@Aspect注解 面向切面实现日志横切的操作
    引言: AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续...
    99+
    2024-04-02
  • Springboot怎样使用Aspectj实现AOP面向切面编程
    Springboot怎样使用Aspectj实现AOP面向切面编程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。要在 Springboot中声明 AspectJ 切面需在 IOC...
    99+
    2023-06-22
  • springboot幂等切片怎么实现
    本篇内容介绍了“springboot幂等切片怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、前言最近测试提某些接口重复提交的问题,...
    99+
    2023-06-29
  • Spring使用AspectJ的注解式实现AOP面向切面编程
    目录1、认识Spring AOP1.1 AOP的简介1.2 AOP中的概念 切入点(pointcut):2、认识AspectJ 2.1 AspectJ的简介2.2 Spring AO...
    99+
    2024-04-02
  • springboot动态加入注解怎么实现
    要在Spring Boot中动态加入注解,可以使用Java的动态代理技术和反射机制。以下是一个示例代码,演示如何在运行时动态加入注解...
    99+
    2023-09-26
    springboot
  • SpringBoot怎么实现多数据源的切换
    这篇文章主要介绍“SpringBoot怎么实现多数据源的切换”,在日常操作中,相信很多人在SpringBoot怎么实现多数据源的切换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot怎么实现多...
    99+
    2023-06-29
  • Java面向切面编程怎么实现
    在Java中实现面向切面编程,可以使用以下几种方式:1. 使用代理模式:通过创建代理类,将横切逻辑封装在代理类中,然后在实际业务类中...
    99+
    2023-08-08
    Java
  • aop切面、注解和参数怎么获取
    本篇内容介绍了“aop切面、注解和参数怎么获取”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在工作中会经常使用aop,这里将aop使用基本方...
    99+
    2023-06-26
  • springboot集成@DS注解实现数据源切换的方法示例
    目录启用@DS实现数据源切换POM内添加核心jar包yml配置“核心”-使用@DS注解最后启用@DS实现数据源切换 POM内添加核心jar包         ...
    99+
    2024-04-02
  • SpringBoot多数据源切换怎么实现
    本篇内容主要讲解“SpringBoot多数据源切换怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot多数据源切换怎么实现”吧!配置文件(YML)spring: ...
    99+
    2023-06-30
  • Springboot如何使用Aspectj实现AOP面向切面编程
    目录要在 Springboot中声明 AspectJ 切面引入jar包       网上也有说要在application.properties...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作