我是靠谱客的博主 醉熏草莓,最近开发中收集的这篇文章主要介绍java如何实现自定义注解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

java实现自定义注解的方法:

一、自定义一个注解(MyValidate),使用元注解定义各项用途

409f1d1d8bbf46a9292e8b6f7c35373.png

二、定义该注解的业务逻辑,这里只实现了注解的一个属性:isNotNull()

e991856d8a364d0fe08a7cf51175929.png

然后就就可以愉快的使用了

cd6937ac2d5101b1ccfb507ec9bd19b.png

实际项目中通过拦截器或者切面来实现:

1、定义一个interface,命名为BaseCheck,BaseCheck里面有一个抽象的check方法,check方法返回值是boolean。

2、定义校验的注解,比如:@NotNull、@Length。

3、根据上面的注解,分别定义对应的校验类,比如:NotNullCheck、LengthCheck。

4、NotNullCheck、LengthCheck都需要实现BaseCheck的check方法,你要在check方法里面写校验流程。

5、定义一个容器,在工程启动的时候,把NotNullCheck和LengthCheck的对象塞到里面,

如果你使用spring,直接在NotNullCheck和LengthCheck上面加个注解@Component,也能达到同样的效果。

6、定义一个拦截器或者切面。

7、在这个拦截器或者切面里,拿到请求的参数,也就是那个user对象。

8、通过反射,获取到这个user对象所对应的类,类的名字肯定就是User了。

9、遍历User里面的所有Field,检查每一个Field是否含有注解。

10、遍历Field上的所有注解。

11、假设找到一个注解@NotNull,就去找一下对应的校验类,

BaseCheck baseCheck = 容器.get("NotNullCheck")

或者BaseCheck baseCheck = (BaseCheck) SpringUtl.getBean("NotNullCheck")

12、如果找到,也就是baseCheck不为空,则通过反射获取这个Field的实际值,将这个值作为参数,调用baseCheck.check方法

13、baseCheck.check如果返回false则报错,如果返回true则继续,直到遍历完所有Field、所有注解

以上就是java如何实现自定义注解的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是醉熏草莓为你收集整理的java如何实现自定义注解的全部内容,希望文章能够帮你解决java如何实现自定义注解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(163)

评论列表共有 0 条评论

立即
投稿
返回
顶部