iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么在java中对方法参数进行核对
  • 140
分享到

怎么在java中对方法参数进行核对

2023-06-14 17:06:31 140人浏览 独家记忆
摘要

本篇文章为大家展示了怎么在java中对方法参数进行核对,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、WEB应用程序、分布式系统和嵌

本篇文章为大家展示了怎么在java中对方法参数进行核对,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Java是什么

Java是一门面向对象编程语言,可以编写桌面应用程序、WEB应用程序、分布式系统和嵌入式系统应用程序。

1.声明自定义注解类

@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface RequestRequire {            public String require() default "";            public Class<?> parameter() default Object.class;}

2.对需要做非空判断的方法做注解配置(一般用在controller)

@RequestMapping(value = "/reGISter", method = RequestMethod.POST)@RequestRequire(require="mobile,sessionToken",parameter=AccountRequestParameter.class)public void register(httpservletRequest request,            HttpServletResponse response,HttpRequestParameter parameter)throws Exception{        //核心代码}

AccountRequestParameter类是一个参数类,里面包含了账号模块的所有参数。

3.编写切面类

@Aspect@Componentpublic class RequestRequireAspect {     Logger log=LoggerFactory.getLogger(RequestRequireAspect.class);         public RequestRequireAspect() {        log.info("初始化接口参数非空判断切面类...");    }        @Pointcut("@annotation(com.xxxx.RequestRequire)")    public void controllerInteceptor() {    }     @Around("controllerInteceptor()")    public Object around(ProceedingJoinPoint pjp) throws Throwable {                //获取注解的方法参数列表        Object[] args = pjp.getArgs();                //获取被注解的方法        MethodInvocationProceedingJoinPoint mjp = (MethodInvocationProceedingJoinPoint) pjp;        MethodSignature signature = (MethodSignature) mjp.getSignature();        Method method = signature.getMethod();                //获取方法上的注解        RequestRequire require = method.getAnnotation(RequestRequire.class);                //以防万一,将中文的逗号替换成英文的逗号        String fieldNames=require.require().replace(",", ",");                //从参数列表中获取参数对象        Object parameter=null;        for(Object pa:args){            //class相等表示是同一个对象            if (pa.getClass()==require.parameter() ) {                parameter=pa;            }        }                //通过反射去和指定的属性值判断是否非空        Class cl=parameter.getClass();        for(String fieldName:fieldNames.split(",")){                        //根据属性名获取属性对象            Field f=cl.getField(fieldName);                        //设置可读写权限            f.setAccessible(true);                        //获取参数值,因为我的参数都是String型所以直接强转            String value=(String)f.get(parameter);                        //非空判断            if(!StringUtils.isNotBlank(value)){                throw RuntimeException("参数:"+fieldName+"不允许为空");            }        }                //如果没有报错,放行        return pjp.proceed();    }}

4.在springmvc里面配置

<aop:aspectj-autoproxy proxy-target-class="true"/>

上述内容就是怎么在java中对方法参数进行核对,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: 怎么在java中对方法参数进行核对

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在java中对方法参数进行核对
    本篇文章为大家展示了怎么在java中对方法参数进行核对,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌...
    99+
    2023-06-14
  • Java中怎么对参数进行传递
    本篇文章给大家分享的是有关Java中怎么对参数进行传递,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数,这样...
    99+
    2023-05-31
    java ava
  • 怎么在Pytorch 中对TORCH.NN.INIT 参数进行初始化
    怎么在Pytorch 中对TORCH.NN.INIT 参数进行初始化?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。初始化函数:torch.nn.init#&nb...
    99+
    2023-06-06
  • 怎么在java中对数组进行排序
    这期内容当中小编将会给大家带来有关怎么在java中对数组进行排序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统...
    99+
    2023-06-14
  • 怎么在java中对数据进行比较
    这篇文章将为大家详细讲解有关怎么在java中对数据进行比较,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表...
    99+
    2023-06-14
  • 怎么在CentOS系统中对内核进行编译
    这篇文章给大家介绍怎么在CentOS系统中对内核进行编译,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Linux 内核简介最上面是用户(或应用程序)空间。这是用户应用程序执行的地方。用户空间之下是内核空间,Linux ...
    99+
    2023-06-07
  • 怎么在java中对SimpleDateFormat进行转换
    怎么在java中对SimpleDateFormat进行转换?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java可以用来干什么Java主要应用于:1. web开...
    99+
    2023-06-14
  • 怎么在Java中对DBeaver进行配置
    本篇文章为大家展示了怎么在Java中对DBeaver进行配置,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、JDK环境配置这里演示的是win7系统下JDK是jdk-6u43-windows-i58...
    99+
    2023-06-14
  • 怎么在java中对Sorted进行排序
    这篇文章给大家介绍怎么在java中对Sorted进行排序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queue队列:有序,可重...
    99+
    2023-06-14
  • 怎么在java中对对象的类型进行转换
    怎么在java中对对象的类型进行转换?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。对象类型转换分为向上转型和向下转型(强制对象转型)。 向上转型是子对象向父对象转型的过程,例如...
    99+
    2023-05-30
    java
  • 在java项目中怎么对数组进行合并
    在java项目中怎么对数组进行合并?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。需求:两个字符串合并(如果想去重复,参考下一篇--数组去重复及记录重复个数)//方法一 Arra...
    99+
    2023-05-31
    java ava 目中
  • 在java中怎么对数据类型进行进制转换
    在java中怎么对数据类型进行进制转换?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在java中Int 类型的变量占 4个字节Long 类型的变量占8个字节一个程序就是一个...
    99+
    2023-05-31
    java ava 数据类
  • 怎么在java中对集合进行排序
    这篇文章将为大家详细讲解有关怎么在java中对集合进行排序,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。常用的java框架有哪些1.SpringMVC,Spring Web MVC是一种基于...
    99+
    2023-06-14
  • SpringBoot接口怎么对参数进行校验
    今天小编给大家分享一下SpringBoot接口怎么对参数进行校验的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。什么是不优雅的...
    99+
    2023-07-02
  • 如何在java中对数组进行赋值
    这期内容当中小编将会给大家带来有关如何在java中对数组进行赋值,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客...
    99+
    2023-06-14
  • 如何在java中对数组进行复制
    本篇文章为大家展示了如何在java中对数组进行复制,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、System.arraycopy的用法:public static void&...
    99+
    2023-05-30
    java
  • 怎么在java8中对函数进行引用
    怎么在java8中对函数进行引用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。函数引用的类型函数引用分为以下四种:静态函数,比如 Integer 类的 pars...
    99+
    2023-05-31
    java8 中对 ava
  • 怎么在JavaScript中对数组进行求和
    这篇文章将为大家详细讲解有关怎么在JavaScript中对数组进行求和,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JavaScript数组求和的方法:1、for循环,代码为【for (va...
    99+
    2023-06-14
  • 在java中怎么对MyBatis注解进行映射
    本篇文章为大家展示了在java中怎么对MyBatis注解进行映射,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。java  中MyBatis注解映射的实例详解1.普通映射 @Sel...
    99+
    2023-05-31
    java mybatis ava
  • 怎么在linux中对数据进行压缩
    这篇文章将为大家详细讲解有关怎么在linux中对数据进行压缩,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1,tar命令使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作