java 自定义注解_谈java自定义注解

0a4a2cb6a50f1afa441cb0000c14c8c0.png

java自定义注解是什么,难吗?

在没有接触过自定义注解之前,我会认为,哇,注解好厉害,就@加上一段字符就可以实现各种功能,告诉你们,spring的@Controller @Service @Commont 其实只是名字不同,功能完全一样,不信你试试,哈哈。或者扒一下源码。说回到正题,自定义注解是什么,难吗。自定义注解基本分为,注释到方法上的,注释到实体私有属性的,注解到形参的,大多经常使用的就这样了吧。

先说注解到方法上的,能干嘛,怎么干,比如你自定义了一个注解,想要让他实现对系统中某些接口签名校验绕过,也就是加了你这个注解,该方法不会进行签名校验。先说下签名校验一般会怎么做,一般你们是不是定义一个拦截器,拦截所有请求,然后取header的签名值和自己把请求的参数拿出来的值算完之后进行比较,相同校验就通过,不同就不通过,这时候,老板说某个接口不需要签名校验,你可以拿到方法名做白名单过滤,但是越来越多的方法需要白名单呢,这时候,加个注解吧,放在方法上,拦截器在校验时,判断方法上有没有不需签名校验的注解,如果有,直接就过了,没有再去校验就OK了。

这是一种方法,在拦截器层面使用注解,你也可以在aop中使用,去切那些注释了某些注解的方法,再拿到注解上的一些属性做操作。比如想记录日志的自定义Log注解。

未完待续。。。先写代码去了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值