java实用小工具
晴天小哥哥
追求卓越, 成功就会在不经意间追上你
展开
-
一个通用的参数校验的工具类
对于请求入参的校验常用方法都是一堆if...else...来进行判空,长度校验。不仅代码又多又长,阅读性极差。本文由博主自己结合hibernate-validate框架,封装的小工具,进行优雅的参数校验。原创 2022-10-14 10:19:08 · 949 阅读 · 1 评论 -
Gitlab 配置 SSH-Key
Gitlab 配置 SSH-Key原创 2021-12-24 14:03:23 · 19244 阅读 · 0 评论 -
CountDownLatch的使用
1. 他是什么?A synchronization aid that allows one or more threads to wait untila set of operations being performed in other threads completes.原创 2021-06-17 15:45:32 · 2964 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: Could not initialize class xxx 原因及解决方法
NoClassDefFoundError产生的原因有好几种,这里记录静态变量或静态块引起的。具体抛出的异常类似:java.lang.NoClassDefFoundError: Could not initialize class xxxJVM在加载类的时候,会初始化类里的静态变量,或执行静态块,如果这个时候抛出了异常,该类就会加载失败,那么以后任何使用到这个类的地方,都会抛出NoClass...原创 2018-11-27 16:23:27 · 89650 阅读 · 13 评论 -
Java生成导出Word
先给出官网链接,方便各位博友深入了解http://deepoove.com/poi-tl/里面有demo和详解,我这边就不说了原创 2020-11-06 18:35:31 · 1153 阅读 · 0 评论 -
Java下载工具类
1. 本工具类包括预览, 打包下载, 下载 package com.zjrc.epidemic.util;import com.zjrc.epidemic.fastdfs.FileInfo;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.util.CollectionUtils;import org.springframework.web.context.request.原创 2020-11-06 14:56:39 · 815 阅读 · 0 评论 -
AES加密工具类AESUtil
本文工具类针对的是Java环境下, AES对称加密的工具类, 包括加密和解密package com.alicom.flow.util;import javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64;/** * * @author zhouzhou * 2020-9-29 15:27:42 * */public clas原创 2020-10-15 14:32:45 · 4547 阅读 · 1 评论 -
史上最全的日期工具类DataUtil(长期更新)
直接放代码了,里面的方法都有注释package com.zjrc.epidemic.utils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.context.i18n.LocaleContextHolder;import java.math.BigDecimal;import java.sql.Time;impor原创 2020-10-15 10:59:41 · 1823 阅读 · 0 评论 -
Springboot整合Alibaba Cloud Toolkit一键远程部署
1. 开发环境,IDEA,安装Alibaba Cloud Toolkit在Plugins中搜索Alibaba Cloud Toolkit, 下载并且安装2. 远程服务器准备一台远程服务器, 这台服务器必须安装java环境.3.配置工具配置部署方式 如图配置好你的配置信息其中ip就是我们目标部署的服务器, 可以设置多台Target Directory 是将打好的jar包上传到服务器那个位置After Deploy: 则是上传jar包后, 服务器执行的命令点击保存,即原创 2020-07-24 11:28:24 · 1090 阅读 · 0 评论 -
ThreadLocal(三) 线程上下文实战
场景: 某个复杂长链路请求, 例如下单, 需要多组件方法参与,但是对于各种参数聚合, 耦合度很高对于二次开发不方便解决思路: 利用 ThreadLocal 线程变量来完成, 以后每次改造只需要改造,或者向 ThreadLocal 中增加自己的参数即可,注意:禁止参与多线程!!!否则会导致参数丢失!!!!! 注意每个线程必须执行 destroy 操作!!! 建议在入口处进行线程变量初始化和销毁1. 创建业务上下文类package net.xinhuamm.converge.model.原创 2020-06-16 21:57:19 · 749 阅读 · 0 评论 -
Postman最新版本+ Postman Interceptor实现高效请求
https://www.postman.com/官网谷歌插件安装:https://www.crx4chrome.com/crx/560/原创 2020-03-20 19:15:25 · 2155 阅读 · 0 评论 -
SpringBoot 整合 Mybatis + pagehelper 实现分页
本文参考: github -pagehelper官方文档https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md首先是 pom.xml 添加 pagehelper 的依赖 <dependency> <groupId&g...原创 2019-05-04 10:10:18 · 2341 阅读 · 0 评论 -
MyBatis 自动生成代码,mybatis-generator,SpringBoot 集成
pom 文件准备 <!--mybatis 自动生成--> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifa...原创 2019-05-04 09:32:30 · 219 阅读 · 0 评论 -
高并发场景下的限流策略
什么是限流和降级在开发高并发系统时,有很多手段来保护系统: 缓存、降级、限流。当访问量快速增长、服务可能会出现一些问题的时候(响应超时),或者会存在非核心服务影响到核心流程的性能时,仍然需要保证服务的可用性,即便是有损服务。所以意味着我们在设计服务的时候,需要一些手段或者关键数据进行自动降级,或者配置人工降级的开关。缓存的目的是提升系统访问速度和增大系统处理的容量,可以说是抗高并发...原创 2019-04-15 09:36:56 · 395 阅读 · 0 评论 -
SpringBoot 全局异常配置
需求:全局异常拦截优雅显示package com.zjrc.healthlife.common.exception;import com.zjrc.healthlife.common.aop.log.LoggerName;import com.zjrc.healthlife.common.vo.Response;import org.slf4j.Logger;import org....原创 2019-03-28 14:49:01 · 2174 阅读 · 0 评论 -
MessageFormat用法:占位符{0}
一、前言 刚开始从.net的转向java的时候总觉得 String.format 用得不习惯,希望格式模版会这样 {0}, this is {1}'s cat.{1},this is {0}'s dog. 而不是 %1$s,this is %2$s's cat.%2$s,this is %1$s's dog. 。后来发现 java.te...原创 2018-04-03 14:45:05 · 4252 阅读 · 0 评论 -
Java时间日期格式转换Date转String和String转Date
public class VeDate {/** * 获取现在时间 * * @return 返回时间类型 yyyy-MM-dd HH:mm:ss */public static Date getNowDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new Simp...原创 2018-08-29 12:24:45 · 8081 阅读 · 0 评论 -
Spring代码形式注入Bean, 和查找其环境
有些业务场景下(尤其是在写设计模式的时候), 会遇到, 无需单例的类中需要多次new 一个类, 但是这个类就不能使用注解注入的形式了,否则会报错.只能使用代码引入 package com.shuige.components.util;import org.apache.commons.lang.StringUtils;import org.springframework.beans.B...原创 2018-09-07 14:17:16 · 1017 阅读 · 0 评论 -
Spring Bean初始化之后/销毁之前执行指定方法
关于在spring 容器初始化 bean 和销毁前所做的操作定义方式有三种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 通过 在xml中定义init-method 和 destory-method方法 通过bean实现InitializingBean和 DisposableBean接口下面举例:Spring注解方式...原创 2018-09-18 15:26:24 · 2977 阅读 · 0 评论 -
java代码利用RestTemplate模拟http发送请求
我这边用SpringBoot来配置RestTemplate 直接上代码,先是配置类/** * Description: httpApiConfig, 用于restTemplate * User: zhouzhou * Date: 2018-09-14 * Time: 13:25 */@Configurationpublic class HttpApiConfig { @...原创 2018-09-14 15:13:30 · 2900 阅读 · 0 评论 -
java解决下载时文件名乱码问题
直接上部分代码: String zipFileName = fileNameRoot + System.currentTimeMillis() + ".zip";// 文件名+时间戳+ .zip //得请求头中的User-Agent String agent = httpServletRequest...原创 2018-09-30 10:38:30 · 1048 阅读 · 0 评论 -
手把手教你使用IDEA远程debug
首先在IDEA中配置需要远程debug的ip和端口号: 1.点开启动配置2.依次点击+, 和remote3.看到页面后配置host 和 port这个你们自己填相应的即可, Name就取一个自己看得懂的最好4. 复制JVM启动脚本5.在远程服务端, 修改启动脚本,粘贴我们刚刚复制的脚本6.启动服务端代码....7.点击IDEA 中debug开关, ...原创 2018-11-09 15:46:42 · 1479 阅读 · 0 评论 -
Java 下载工具类(多文件打包下载, 单文件下载, 单文件预览)
1. 准备标准文件类DocumentOModel@Data@ApiModel("文档信息(转换后)")public class DocumentOModel { @ApiModelProperty( value = "文档ID", position = 1) private String documentId; ...原创 2018-11-08 11:36:55 · 793 阅读 · 0 评论 -
Spring中动态获取配置文件中的值(properties, 或者yml)
平时我们都习惯用@Value("${"XXXX"}")注解标注在成员变量上来获取,但是如果说没有配置则连系统都启动不了所以我写了一个工具类可以在程序运行期间动态获取配置文件中的值:直接上工具类:package com.zz.amqp1.utils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org...原创 2018-11-16 11:13:30 · 10292 阅读 · 5 评论 -
lombok注解, 找不到符号错误
打开设置, 注解设置这边的注解处理勾上, 即可原创 2018-12-25 09:32:03 · 7136 阅读 · 2 评论 -
Log4j,日志分包。
需求:将短信业务日志分在一个单独日志文件下,其他日志分在另一个日志文件下web-xml 文件,配置监听器和配置文件位置 <context-param> <param-name>webAppRootKey</param-name> <param-value>webFEP.root</param-valu...原创 2019-03-25 16:55:38 · 387 阅读 · 0 评论 -
SpringBoot 集成 Swagger 2教程
首先你需要有个 SpringBoot 项目pom 文件 <properties> <java.version>1.8</java.version> <swagger2.version>2.9.2</swagger2.version> <swagger-u...原创 2019-03-28 14:41:51 · 252 阅读 · 0 评论 -
Java对象拷贝(BeanUtil.copyProperties 方法)
一、简介: BeanUtils提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。二、用法: 如果你有两个具有很多相同属性的JavaBean,一个很常见的情况就是Struts里...原创 2018-03-23 11:02:18 · 34851 阅读 · 3 评论