首页 > 其他分享 >自定义注解

自定义注解

时间:2022-10-24 17:23:22浏览次数:40  
标签:MethodsListener 自定义 通知 xxx 注解 方法 public

1.定义某个方法的注解

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MethodsListener {}
MethodsListener这个名字根据对应所需要实现的功能来命名即可

2.实现这个注解

@Component
@Slf4j
@Aspect
@EnableAspectJAutoProxy
public class Listener { 
     //这个地方填需要做那种类型的通知
    @AfterReturning(value = "pointCut()", returning = "task")   
    public void handle(){     
    } 
  
   @Pointcut("@annotation(xxx.xxx.xxx.xxx.xxx.xxx.MethodsListener)")  
   public void pointCut() {    
   }
}

3.在某个需要这个注解的方法上面加上这个注解即可@MethodsListener

补充说明:

AspectJ 支持 5 种类型的通知注解:

 

@Before: 前置通知, 在方法执行之前执行
@After: 后置通知, 在方法执行之后执行 。
@AfterRunning: 返回通知, 在方法返回结果之后执行
@AfterThrowing: 异常通知, 在方法抛出异常之后
@Around: 环绕通知, 围绕着方法执行

 


 

标签:MethodsListener,自定义,通知,xxx,注解,方法,public
From: https://www.cnblogs.com/ForeverLoveByMe/p/16822139.html

相关文章

  • 记录--分享8个非常实用的Vue自定义指令
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助在Vue,除了核心功能默认内置的指令(v-model和v-show),Vue也允许注册自定义指令。它的作用价值在于当......
  • 实体类上的一些注解及其依赖,方便判断
    1.@NotNull(message="有效期不能为空")<dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId></dependency>2.@JsonForma......
  • Kubernetes--资源注解
    资源注解除了标签(label)之外,Pod与其他各种资源还能使用资源注解(annotation)。与标签类似,注解也是“键值”类型的数据,不过它不能用于标签及挑选Kubernetes对象,仅可用于为资......
  • cmap 自定义颜色卡
    #渐变色cmap=LinearSegmentedColormap.from_list('white_to_red',['#00FF00','#0000FF','#FFFF00','#FF0000'])#间隔色块cmap=mpl.colors.ListedColormap([......
  • 服务端自定义生成PDF的几种方案
    一、itext表单填充使用方式:itext表单填充方案是以pdf作为基础模板,通过在pdf中嵌入表单元素组件的方式(需要使用pdf编辑工具),最后由程序进行数据填充并另存为pdf结果。方案优......
  • pg_basebackup备份(无自定义表空间)
    环境:OS:Centos7DB:13.81.直接备份需要提前创建好备份目录su-postgres[postgres@host134pg_backup]$mkdir-p/tmp/pg_backup/[postgres@host134pg_backup]$pg_bas......
  • 求求你们了,别再重复造轮子了,一个 Spring 注解轻松搞定循环重试功能!
    在实际工作中,重处理是一个非常常见的场景,比如:发送消息失败。调用远程服务失败。争抢锁失败。这些错误可能是因为网络波动造成的,等待过后重处理就能成功。通常来说,......
  • C语言——自定义类型(结构体+枚举+联合)
    结构体基础知识结构是一些值的集合,这些值被称为成员变量;结构体可以存储不同类型的数据项,而数组中是存储相同类型数据项声明structtag{//struct是关键字,tag是结构体标签名......
  • 缓存 - 方法注解组件开发
    缓存概述解决不同设备间速度不匹配问题。互联网分层架构:降低数据库压力,提升系统整体性能,缩短访问时间。高并发问题缓存并发(击穿):缓存过期后将尝试从后端数据库获取数......
  • 自定义transform的重塑
    #cartoontransformdefct(names,*args):'''names:alistofmobjectsargsr......