java
文章平均质量分 50
after95
Java 是世界上最好的语言
展开
-
Java 收货地址智能解析
收货地址智能解析原创 2021-03-25 15:03:24 · 7310 阅读 · 17 评论 -
手机号银行卡格式化
格式化方法/** * 指定位置插入符号 * * insert("1223334444", "-", Boolean.FALSE, 1, 2, 3) ===> "1-22-333-4444" * insert("1223334444", "-", Boolean.TRUE, 1, 2, 3, 5) ===> "1-22-333-4444-" * * @param string 待处理字符串 * @param symbol 待插原创 2021-02-26 15:02:35 · 211 阅读 · 0 评论 -
Java 万物皆可 Tree 工具类
ITree - 树数据接口import java.util.List;/** * 树数据接口 * * @author: Neo * @date: 2021/1/4 14:24 * @version: 1.0 */public interface ITree<T, K> { /** * 节点ID * * @return */ K id(); /** * 父节点ID * * @r原创 2021-01-04 17:20:44 · 3688 阅读 · 0 评论 -
自定义序列化配置
以时间格式序列化为例import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.core.JsonParser;import com.fasterxml.jackson.databind.DeserializationContext;import com.fasterxml.jackson.databind.JsonDeserializer;import com.fasterxml.jackson.d.原创 2021-01-04 14:20:51 · 170 阅读 · 0 评论 -
枚举字典管理器
枚举字典管理器后端通常需要为了不使用魔法值而去定义枚举类,而枚举类又经常需要被当做数据字典传给前端。次套解决方案就是为了解决枚举值的统一管理的问题,枚举类只要实现 EnumService接口,就可以集成这套方案。EnumDictionary - 数据字典对象package com.neo.common.enums;import java.io.Serializable;/** * 数据字典对象 * * @author: Neo * @date: 2021/1/1 20:10 *原创 2021-01-01 21:45:26 · 1037 阅读 · 0 评论 -
Java 数据脱敏工具类
数据脱敏工具类DesensitizationUtils.javaimport org.apache.commons.lang3.StringUtils;import java.util.Objects;/** * 数据脱敏工具类 * * @Author: Neo * @Date: 2020/8/19 16:21 * @Version: 1.0 */public class DesensitizationUtils { /** * 默认填充字符 */原创 2020-08-19 17:59:36 · 2001 阅读 · 0 评论 -
Java 监控线程池所有任务是否执行完毕
Java 监控线程池所有任务是否执行完毕场景引入在最近的工作中遇到一个需要批量生产百万数据并写入数据库的需求,先通过单线程的方式去实现,但是感觉效率一般,然后通过多线程的方式去改进,但是遇到下面的问题:生成数据的时候,每生成一条数据,就将数据丢入到集合中进行缓存,当集合中的数据量达到 500 的时候,就进行一次数据库写入操作,并清空集合。那么当我生成的数据量为 1200 的时候,就会出现...原创 2019-12-19 21:42:55 · 3374 阅读 · 0 评论 -
Java 比较两个对象属性的不同
Java 比较两个对象属性的不同Java 比较两个对象属性的不同定义类型处理接口:`TypeProcessHandle.java`定义三个类型处理实现类,如有其它特殊需求也可实现`TypeProcessHandle`接口进行拓展定义必要的注解类:`Property.java`使用两个其它工具类创建:`BuilderDifferenceInfoHandle.java`测试创建测试Bean:`Test...原创 2019-12-13 15:49:36 · 1905 阅读 · 0 评论 -
Java 反射动态获取和修改注解值
Java 反射动态获取和修改注解值Java 反射动态获取和修改注解值创建自定义注解:`TargetAnnotation.java`创建自定义注解:`Property.java`创建测试Bean:`Bean.java`测试测试结果Java 反射动态获取和修改注解值目的:通过注解 TargetAnnotation 的配置,动态获取和修改注解 Property 值创建自定义注解:TargetA...原创 2019-12-13 11:36:11 · 1320 阅读 · 0 评论 -
Guava 布隆过滤器使用
Guava 布隆过滤器使用注意由于布隆过滤器可能存在一定的误判,当调用 mightContain 方法时:如果返回 true ,则此元素可能存在过滤器中,实际生产中可能需要根据具体业务进一步判断;如果返回 false ,则此元素一定不在过滤器中实例import com.google.common.hash.BloomFilter;import com.google.common....原创 2019-09-24 18:22:00 · 1058 阅读 · 0 评论 -
Java 8 常用 Lambda 表达式汇总
Java 8 常用 Lambda 表达式汇总集合操作List<Person> list = Lists.newArrayList( new Person( "张三", 20, new BigDecimal("15000")), new Person( "李四", 23, new BigDecimal("20000"))...原创 2019-09-24 16:47:43 · 835 阅读 · 0 评论 -
参数处理工具 String to List or Array
package com.shebao.sbt.commons.utils;import com.alibaba.fastjson.util.TypeUtils;import com.google.common.base.Splitter;import com.shebao.framework.common.utils.StringUtils;import java.util.Array...原创 2019-07-18 17:10:46 · 131 阅读 · 0 评论 -
SpringMVC ExceptionHandler 异常处理
1.使用配置a.@ExceptionHandler 需要配合 @RestControllerAdvice 或 @ControllerAdvice 使用b.当加上@RestControllerAdvice 或 @ControllerAdvice 时,此异常处理即为全局异常处理c.不加@RestControllerAdvice 或 @ControllerAdvice 时,此时为局部异常处理,...原创 2019-07-16 11:35:03 · 738 阅读 · 0 评论 -
任意时间字符串转换成时间,无需指定解析模板
此方法适用于做excel导入,以及时间格式不可控的情况import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/** * @Classname: DateUtils * @Description: TOD...原创 2018-11-09 09:58:49 · 2351 阅读 · 0 评论 -
没那么简单的 String.trim()
为什么突然会去看研究 trim() 方法,这是因为昨天因为这个写了个大BUG \捂脸,可能有很多人跟我一样,传说中的 trim() 是去除前后空格,而实际的 trim() 到底是起着什么作用呢?首先我们来看一下这块的源码:原本我一直以为trim() 仅仅只是去除前后空格,实际上清除前后ASCII码小余等于【空格】的所有字符,也就是截图中标红的这部分内容:至于为什么StringBuffer此时的le...原创 2018-05-26 13:50:32 · 1294 阅读 · 0 评论 -
入参校验工具
一个好用的参数校验工具:1.校验入参Map的参数数据是否完整2.通过反射校验入参为Object的参数是否完整import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Map;impo原创 2017-05-22 21:42:01 · 641 阅读 · 0 评论 -
二分法查找和原始算法查找效率对比
直接上代码:import java.text.MessageFormat;public class AppTest { static int length = 70000000; static int[] array = new int[length]; static { for (int i = 0; i < length; i++) { ...原创 2017-07-10 09:26:33 · 1807 阅读 · 0 评论 -
mybatis设置全局变量
1.在mybatis-config.xml中配置全局变量(注意顺序,properties是第一个写在configuration中的标签:(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,da原创 2017-10-10 13:30:19 · 7965 阅读 · 0 评论 -
Java通过反射将 Excel 解析成对象集合
1.这是一个通过Java反射机制解析的工具类2.使用时只需创建对应的对象,并在Excel的第一行填上对应的属性名3.首先要添加相关的jar包:poi-3.8.jar poi-ooxml-3.9.jar poi-ooxml-schemas-3.9.jar xmlbeans-2.6.0.jar 4.看一下Exce原创 2017-05-15 21:53:05 · 3413 阅读 · 2 评论 -
模仿com.alibaba.fastjson.JSONObject取值的PropertiesUtils
1.模仿com.alibaba.fastjson.JSONObject取值的PropertiesUtils2.类型自动转换原创 2017-10-19 15:52:16 · 1432 阅读 · 0 评论 -
利用ThreadLocal管理request和session以及用户信息,实现 Use anywhere
1.我们有时需要获取request或session中的数据的时候,首先需要获取request和session对象,这个通常是在Controller的时候当做入参获取,这样方法的入参会显得很长很臃肿的感觉。这就是的出发点,接下来就展示一下是如何实现的。2.首先我们写个一个拦截器:WebContextFilterpackage com.office.common.filter;im原创 2017-10-20 11:35:05 · 3471 阅读 · 0 评论 -
java String.format 小记
最近遇到一个组装报文头的问题,要求:字符串右补空格,数字左补0,于是开始寻求一些简单的方法以下是记录总结://字符串System.out.println(String.format("%1$20s", "abc"));//整体长度20位,左补空格:" abc"System.out.println(String.format("%1$-20s", "abc原创 2018-01-06 16:45:45 · 508 阅读 · 0 评论 -
分别介绍两种不同的 PropertiesUtils 工具类
1.优点:不依懒于spring容器 ,缺点:只能读取单个properties文件import java.io.IOException;import java.io.InputStream;import java.math.BigDecimal;import java.math.BigInteger;import java.sql.Timestamp;import java.util.原创 2018-01-17 18:17:51 · 1531 阅读 · 0 评论 -
流水号生成工具类(prefix+formatDate+random)
import java.text.MessageFormat;import java.text.SimpleDateFormat;import java.util.Collections;import java.util.Date;import java.util.HashSet;import java.util.Set;import org.apache.commons.lang...原创 2018-01-18 13:25:28 · 1794 阅读 · 0 评论 -
java RSAUtils 加密工具类
1.RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA公开密钥密码体制。所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK...原创 2018-04-15 22:26:29 · 4478 阅读 · 0 评论 -
Java 将List平均分成若干个集合
1.初衷是由于调用银行接口的批量处理接口时,每次最多只能处理500条数据,但是当数据总数为510条时。我又不想第一次调用处理500条,第二次调用处理10条数据,我想要的是每次处理255条数据。下面展示的是我的处理方法2.写了一个简单的ListUtils:package com.example.springboottest.common.util;import java.util.Ar...原创 2018-04-16 13:13:03 · 7959 阅读 · 4 评论 -
SpringBoot 中 @Value 在 Controller中无法使用的问题解决
1.当我们在Controller里面使用@Value注解是通常会报:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'environmentTestController': Injection of autowired dependencies failed; nested...原创 2018-04-05 22:18:53 · 6716 阅读 · 0 评论 -
基于注解和Spring的多数据源配置和使用
1.项目结构2.所需Jar3.定义名为DataSource的注解package com.office.data.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.Retention原创 2017-01-13 08:59:20 · 461 阅读 · 0 评论