JAVA常用工具类
用于介绍一些常用的开发工具类
wilson_m
这个作者很懒,什么都没留下…
展开
-
自定义切面
@Aspect@Componentpublic class ParamSignResolver { public final Logger logger = LoggerFactory.getLogger(getClass()); public static final Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); @Around("@annotation(.原创 2021-05-31 22:51:44 · 146 阅读 · 0 评论 -
【java】接口返回参数按照请求参数进行排序
在项目实际开发中可能遇到过这种问题,接口请求参数顺序是[a,b,c],结果返回的数据是[bObject,cObject,aObject],导致这种原因可能是底层采用了设计模式,或者是表拼接查询,本文主要就是为了实现这种功能,采用流的方法代码实现import lombok.Data;import java.io.Serializable;/** * @description 模拟接口结果类 * @author: WilsonMeng * @create: 2021-01-26 14:26原创 2021-01-26 14:43:48 · 1313 阅读 · 0 评论 -
【Java开发工具类】集合数组数据抽取工具类
集合数组数据抽取工具类功能1:抽取对象数组中的某一个字段形成的数据(去重)1、某一字段数据抽取描述:从一个Object对象数组中,提取Object对象中A字段形成的数组反射工具类:import com.google.common.base.Optional;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang3.StringUtils;import java.lang.reflect.Field;import原创 2021-01-15 15:18:59 · 497 阅读 · 0 评论 -
fastJson输出json时避免$ref
场景:新手小白在开发中使用fastJson打印返回结果时出现$ref情况。场景问题描述:对现有接口新增了分页功能,因为分页功能返回前端的是固定模板,返回的数组数据字段名必须为resultList,考虑到前端可能没上线,后台新增get方法,两种方式兼容@ToString(callSuper = true)public class CQryCourseTabProductRespVo extends PageRespInfoVo { private List<CProductFlatVo&原创 2020-12-10 10:51:24 · 650 阅读 · 0 评论 -
谷歌浏览器http请求之curl使用
CURL简介curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。在开发中我们可以使用postman来进行http请求测试,获取请求和响应结果,如果不借助工具可以使用CURL命令CURL命令详解参考链接:https://www.jianshu.com/p/07c4dddae43ahttp://www.ruanyifeng.com/blog/2019/09/curl-reference.html谷歌浏览器请求拷贝为CURL技巧1、原创 2020-11-11 16:46:54 · 9155 阅读 · 0 评论 -
【数据结构】二叉树常用操作集锦
本文主要介绍下二叉树常用的一部分操作数据结构提到二叉树,离不开数据结构,数据结构中常用的数据结构就是链表和数组了。数据结构的基本操作对于任何数据结构,其基本操作无非遍历 + 访问,再具体一点就是:增删查改。数据结构存在的目的都是在不同的应用场景,尽可能高效地增删查改如何遍历 + 访问?我们仍然从最高层来看,各种数据结构的遍历 + 访问无非两种形式:线性的和非线性的。线性就是 for/while 迭代为代表,非线性就是递归为代表。再具体一步,无非以下几种框架:遍历数组遍历框架,典型的线性迭代原创 2020-08-31 14:06:35 · 270 阅读 · 0 评论 -
【工具类】统一处理异常@ExceptionHandler
针对http请求的方式,我们统一对异常处理,即返回各种异常对应的code和message信息,不返回多余的信息统一处理异常针对Http接口请求的方式,统一封装异常,返回异常信息import com.qudian.universe.scm.base.exception.BizRuntimeException;import com.qudian.universe.scm.base.exception.UnauthorizedException;import com.qudian.universe.sc原创 2020-08-26 18:32:40 · 412 阅读 · 0 评论 -
java中Arrays工具类的用法
java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:给数组赋值:通过fill方法。对数组排序:通过sort方法,按升序比 较 数 组: 通过equals方法比较数组中元素值是否相等。查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。截取数组元素:通过copyOf方法和copyOfRange对数组元素进行截取。...原创 2018-05-02 16:54:16 · 2133 阅读 · 1 评论 -
【java生成Token】
引入maven依赖: <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>${jwt.version}</version> </dependency>原创 2020-06-19 21:25:26 · 551 阅读 · 0 评论 -
【IDEA】开发效率插件Lombok、GenerateAllSetter
在创建对象实体类时,是不是还在为set和get方法烦恼? 虽然可以通过快捷键生成get和set方法,但是如果对象实体类中的属性比较多时,加上set和get方法,代码会显的很长,lombook插件可以帮我们进行简化代码。lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码。通过使用对应的注解,可以在编译源码的时候生成对应的方法,所以不会影响任何运行效率。...原创 2020-03-23 18:15:04 · 2019 阅读 · 0 评论 -
【SpringBoot】阿里云消息队列RcoketMQ消费者代码示例
项目中使用到了mq,使用的是阿里云消息队列,作为消费者进行消费,记录下相关的代码。阿里云消息队列maven依赖 <mq.version>1.8.4.Final</mq.version> <dependency> <groupId>com.aliyun.openservices</groupId> <artifactId>ons-client原创 2020-08-13 10:08:12 · 676 阅读 · 0 评论 -
【ThreadLocal+拦截器】获取上下文信息
背景:在后台开发中,相关的接口需要获取用户登录的手机号识别用户的身份,目前用户的手机号存储在前端上送的cookie中,想要获取用户手机号,目前存在两种思路:思路一:每个接口中前端都上送手机号,但是这种方法,前端开发者不喜欢这样做,每个接口都存在该字段,前端的想法会是将该字段放在header中,每次请求中header中都存在手机号字段。思路二:后端从cookie中获取手机号。以上两种方法,后端都需要封装一个统一的方法来获取用户手机号,如果一个接口写一个获取登录手机号的方法,代码冗余量很大。因此结合Thr原创 2020-07-29 20:51:30 · 1184 阅读 · 0 评论 -
【Apollo】配置中心数据改动日志
该方法记录了Apollo数据中心改动的日志,具体Apollo配置中心的搭建请参考网上步骤,本人没有搭建过,不是很清楚。Java代码:@Configuration@Slf4jpublic class LogApolloConfig { @ApolloConfig private Config config; @ApolloConfigChangeListener private void configChangeListener(ConfigChangeEvent原创 2020-07-28 14:21:31 · 740 阅读 · 0 评论 -
【参数校验参考】参数校验
http请求时,对参数进行校验,以post请求为例,直接上代码:先来一个自定义注解:import javax.validation.Constraint;import javax.validation.Payload;import java.lang.annotation.*;/** * 自定义validation注册校验所传入内容必须在list中 */@Target({ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCT原创 2020-06-11 17:25:30 · 544 阅读 · 0 评论 -
【Json工具类】json数据格式转换
在开发中,常用到json数据的转换,将json格式的字符串与java对象之间的转换,工具类如下:import com.fasterxml.jackson.annotation.JsonInclude;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.DeserializationFeature;import com.fasterxml.jackson.databind.原创 2020-06-01 16:38:44 · 1165 阅读 · 0 评论 -
【自定义注解】实现接口请求参数和返回参数的打印
本篇博客主要是实现自定义注解,通过在方法中使用该注解,打印出该方法的请求参数以及返回参数,用于排查问题。减少日志的打印。方法枚举:package cn.eric.jdktools.annotation;/** * 方法返回参数枚举 * @Author wilsonm * @Date 2020/4/13 1:02 下午 * @Param * @return **/public ...原创 2020-05-06 14:45:50 · 1846 阅读 · 0 评论 -
mybatis中PageHelper使用实例
官方文档介绍pageHelper官方文档代码使用示例:代码涉及依赖: <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artif...原创 2020-04-17 16:15:30 · 933 阅读 · 0 评论