对于一个后端API项目,令我们感到繁琐的,无非就参数的验证。

传统的做法,在每个接口内部,写一大堆if else判断。且响应,容易遗漏。

而本文的做法,主张通过一个注解来验证参数。

如图:

1、假如后端某个接口的入参是一个对象:

2、假如前端的请求参数是一个map

3、假如这些参数需要遵循这些格式

OK,那我们继续,当然,以上只是假如,本文体现反射技术的核心思想。不管是什么数据类型,对于反射来说,意义不大。

ParaCheckHandle.checkAndInvok(Object bean,Method method,Map paraMap);验证并执行该方法。如果验证不通过,那么将返回错误码,如果验证通过,则会自动装载参数且执行

以上的几张截图已经实现了自动装载和验证参数。

下面给出demo地址(请根据实际项目加以整改便可兼容):

链接: https://pan.baidu.com/s/1qYJcQC0 密码: ygdr

java 自动装载_JAVA反射技术之自动装载/自动验参相关推荐

  1. java技术详解_Java反射技术详解及实例解析

    前言 相信很多人都知道反射可以说是Java中最强大的技术了,它可以做的事情太多太多,很多优秀的开源框架都是通过反射完成的,比如最初的很多注解框架,后来因为java反射影响性能,所以被运行时注解APT替 ...

  2. java反射技术_java反射技术,逆向开发必备技能

    相信很多人都知道反射可以说是Java中最强大的技术了,它可以做的事情太多太多,很多优秀的开源框架都是通过反射完成的,比如最初的很多注解框架,后来因为java反射影响性能,所以被运行时注解APT替代了, ...

  3. java反射源码_java反射技术详解附源码

    在学校学习Java时,由于学的不扎实,也没经历过太多实战项目,所以很多重要的知识点瞟一眼就过去了,比如现在要讲的反射,当时直接就忽略掉了,可现在发现很多地方需要反射,不得不重新学习一下,上学欠了太多债 ...

  4. Java的反射作用_java反射机制的作用与优点

    java的反射机制就是增加程序的灵活性,避免将程序写死到代码里, 例如: 实例化一个 person()对象, 不使用反射, new person(); 如果想变成 实例化 其他类, 那么必须修改源代码 ...

  5. java activemq 断线_java - 防止ActiveMQ重新连接失败时自动退出 - SO中文参考 - www.soinside.com...

    我有一个小型的spring-boot应用程序,该应用程序连接到ActiveMQ上的一个或多个主题,这些主题在启动时在应用程序的application.properties文件中设置-然后将这些消息发送 ...

  6. java redis 故障切换_java使用Redis6–sentinel单点故障主从自动切换

    Redis Sentinel Sentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中 一.Sentinel作用: 1):Master状态检测 ...

  7. java 人脸检测_Java+OpenCV实现人脸检测并自动拍照

    java+opencv实现人脸检测,调用笔记本摄像头实时抓拍,人脸会用红色边框标识出来,并且将抓拍的目录存放在src下,图片名称是时间戳. 环境配置:win7 64位,jdk1.8 CameraBas ...

  8. java 内省机制_Java反射与内省机制总结

    Class对象封装了一个java类定义的成员变量.成员方法.构造方法.包名.类名等. 2.反射怎么用 1).获得java类的各个组成部分,首先需要获得代表java类的Class对象 获得Class对象 ...

  9. java 文件 缓存_JAVA缓存技术

    转载地址:http://blog.csdn.net/madun/article/details/8569860 最近再ITEYE上看到关于讨论JAVA缓存技术的帖子比较多,自己不懂,所以上网大概搜了下 ...

  10. java see 方法_Java 反射常用方法

    类名用途 Class类 代表类的实体,在运行的Java应用程序中表示类和接口 Field类 代表类的成员变量(成员变量也称为类的属性) Method类 代表类的方法 Constructor类 代表类的 ...

最新文章

  1. 加密ASP为DLL的详细步骤给点RMB不多是个心意尊重脑力劳动者的付出
  2. 观察者模式(Observer Pattern)
  3. iOS进阶之底层原理-isa与对象
  4. 苹果iOS 15发布:关机也能定位,ASMR重度用户狂喜,这波库克又“去苹果化”了...
  5. webpack打包生成的map文件_从这十几个方面优化你的 Webpack 配置
  6. c语言程序设计教程 实验十,清华大学出版社-图书详情-《C语言程序设计实验教程》...
  7. Java学习小程序(2)输出三个数中的最大值
  8. Java web中使用JQuery加载某页面后,自动调用Servlet(GET方法,POST方法)
  9. leetcode - 39. 组合总和
  10. 如何在word中像LaTeX一样键入公式
  11. android 内核内存管理,Android内核相关内容总结
  12. 网络通信协议八之UDP协议详解
  13. 信贷违约风险评估模型(上篇):探索性数据分析
  14. 如何使用 iCloud 钥匙串从 macOS Monterey 导入和导出密码?
  15. LINUX中nagios客户端安装步骤及遇到问题
  16. matlab altera视频,Altera.FPGA入门及提高视频教程
  17. sprintf_s函数用法
  18. mysql管理员_mysql怎么获得管理员权限??麻烦告诉我
  19. ie11 华表_IE11网页加载项和控件不能运行的解决方法
  20. Ubuntu设置静态IP地址的几种方法

热门文章

  1. Android 网络评分机制
  2. 数据包接收系列 — 上半部实现(内核接口)
  3. 视频不显示的分析方法
  4. python项目结构目录结构_python 项目目录结构
  5. scala 单例对象 伴生对象
  6. Linux服务器沦陷为肉鸡的全过程实录
  7. 51nod1433--简单数学
  8. 计算机一直在启动修复怎么关机,电脑开机总是要启动修复修复后重启还要修复怎么处理方法...
  9. 富文本++php+源码,轻量级富文本编辑器wangEditor
  10. boolean怎么用_用 C++ 和 Java 写算法,差别大吗?(文末有福利)