
java
qq_775879106
这个作者很懒,什么都没留下…
展开
-
Java 线程池之 四个拒绝策略
线程池的拒绝策略原创 2022-08-30 10:35:25 · 315 阅读 · 0 评论 -
HandlerMethodArgumentResolver用于注解获取当前登录用户
目录一、最原始直接二、AOP三、拦截器+方法参数解析器3.1 自定义权限拦截器3.2 自定义参数注解3.3 自定义方法参数解析器3.4 配置MVC环境:SpringBoot 2.0.4.RELEASE 需求:很多Controller方法,刚进来要先获取当前登录用户的信息,以便做后续的用户相关操作。 准备工作:前端每次请求都传token,后端封装一方法tokenUtils.getUserByToken(token),根据token解析得到currentUserInf...原创 2021-04-08 15:35:22 · 380 阅读 · 0 评论 -
AOP实现日志记录
1、自定义的注解import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Retention(RetentionPolicy.RUNTIME)//表明注解生效时期 @Target(ElementType.METHOD)//表面注解使用范围原创 2021-03-12 15:55:09 · 210 阅读 · 0 评论 -
记录表的增删改查日志
1、需要用到的注解、主要用于实体类属性上@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.FIELD})public @interface DomainLog { String desc() default ""; boolean recursion() default false; Class<? extends Enum<?>>[] enumClass() default {};原创 2021-03-12 15:22:15 · 456 阅读 · 0 评论 -
EasyExcel导入小数转BigDecimal精度问题
EasyExcel使用说明,点击链接https://www.yuque.com/easyexcel/doc/read转Double也可参考该博客最近使用easyexcel时碰到一个这样的问题,读取excel时出现了小数点精度问题。例如,0.137这个值,使用easyexcel解析后得到的Double对象就变成了0.13700000000000001,5.1,变成5.0999999999999996。原excel中一条数据,见下图体积商品名称 长(cm) 宽(cm) 高(cm原创 2021-02-26 11:18:17 · 13481 阅读 · 2 评论 -
Java对象与XML相互导入导出
最近在项目中一直出现Java对象和XML之间的相互转换,一开始由于项目很庞大,我又是临时调度过去,导致在按照项目组长的要求进行写代码的同时,总是在这块云里雾里,最近才慢慢开始搞清楚项目中具体的使用缘由。但是项目中封装的代码总是很庞大,因为要考虑太多的东西,而对于此,我只能通过小的Demo来说明,其实在项目中用到很多插件,轻巧,灵便,封装很好使用,但这里我讲解的是JAXB(JavaArchitecture for XML Binding)。 JAXB(Java Architecture for XM...原创 2020-12-23 17:29:01 · 471 阅读 · 0 评论 -
使用vlidator校验器校验
spring boot 虽然集成了 valid 验证,但是只是针对单个参数,不能是整个类,这时就可以使用 hibernate 的 validator 验证器,而且有分组的功能,例如:在注册时要验证 A 类三个字段,但在登录时只需要验证 A 类的两个字段,如果要另外创建一个 VO 类就很没必要,这时就可以使用分组来解决创建一个验证的工具类package io.xiongdi.common.validator;import io.xiongdi.common.exception.XDExce..原创 2020-12-02 17:47:23 · 295 阅读 · 0 评论 -
云服务AppId或AppKey和AppSecret生成策略(对外接口使用)
一、App key和App Secret App key简称API接口验证序号,是用于验证API接入合法性的。接入哪个网站的API接口,就需要这个网站允许才能够接入,如果简单比喻的话:可以理解成是登陆网站的用户名。App Secret简称API接口密钥,是跟App Key配套使用的,可以简单理解成是密码。App Key 和 App Secret 配合在一起,通过其他网站的协议要求,就可以接入API接口调用或使用API提供的各种功能和数据。比如淘宝联盟的API接口,就是淘宝客网站开发的必...原创 2020-07-20 15:34:36 · 4686 阅读 · 1 评论 -
java下划线(数据库字段)与驼峰命名互转
方式一:public class Tool { private static Pattern linePattern = Pattern.compile("_(\\w)"); /** 下划线转驼峰 */ public static String lineToHump(String str) { str = str.toLowerCase(); Matcher matcher = linePattern.matcher(str); StringBuffer sb = new Str原创 2020-06-02 10:30:31 · 2823 阅读 · 0 评论 -
Java读excel(xlsx和xls)两种类型
导入的pom:<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version></dependency><dep...原创 2020-01-21 10:33:17 · 488 阅读 · 2 评论 -
Data,DataTime,Timestamp相互转换
DateTime转为String字符串,输出2020-01-10 10:17:34DateTime endTime = DateTime.now().minusSeconds(10);String s = endTime.toString("yyyy-MM-dd HH:mm:ss");System.out.println(s);DateTime转为字符串,再转时间戳,输出2020-0...原创 2020-01-10 10:19:45 · 710 阅读 · 0 评论 -
Java如何调用接口
其实对于java调用接口进行获取对方服务器的数据在开发中特别常见,然而一些常用的基础的知识总是掌握不牢,让人容易忘记,写下来闲的时候看看,比回想总会好一些。 总体而言,一些东西知识点一直复制粘贴容易依赖,重要的是会忘记为什么这么写,只有理解到位,或者八九不离十才可以对于随时变化的情况进行分析,如果到家,还可以对别人或自己的进行优化。 如果你在这篇没有找到你想要的,请点击:jav...转载 2019-04-03 14:13:07 · 2459 阅读 · 0 评论 -
mybatis 一对一实体嵌套查询xml实现
本例子只是一个实体类嵌套另外一个或者多个实体类。首先上实体类AppPost:public class AppPost { private String postId; private String postTitle; private int upTime; private int postType; private int pointsNum...原创 2019-03-29 13:39:22 · 958 阅读 · 0 评论 -
SpringMVC返回JSON数据时日期格式化问题
在运用SpringMVC框架开发时,可以直接在方法上添加注解 @ResponseBody 返回JSON数据,如果javabean的属性中包含 Date日期类型的数据,默认的转换格式并不是我们想要的 yyyy-MM-dd HH:mm:ss这样的格式,那又如何实现这样的格式转化呢?测试环境SpringMVC 3.2.0Jackson 1.7.1解决方案其实Spring...原创 2019-04-10 13:53:31 · 493 阅读 · 0 评论 -
Java编程规范
要想成为高手,那么必须要把内功练好。好的编程规范可以提高你代码的可读性、可维护性等的好处。这也一定的体现出一个程序员的水平。本文的内容完全出自《阿里java开发手册》,如果想要获取,就关注公众号阿里技术进行获取。本文不做任何商业用途。如有侵犯,可立即删除。一、编程规约(一)、命名风格1.[强制]代码中的命名均不能以下划线或美元符号开始,也不能一下划线或美元符号结束。反例:...转载 2019-03-21 10:58:52 · 412 阅读 · 0 评论 -
java实现分布式系统mysql的批量更新
背景项目中开发一个批量新增,更新的需求,由于之前的数据是一条一条入库的,每天入库量在十万左右,后来增加需求每天的入库量上升到百万时,入库遭遇瓶颈,mq积压严重。后来发现这样需要频繁的与Mysql交互,且需要等待写库结果返回,效率堪忧拖慢其他模块,就有了批量新增和批量更新的需求。优化第一步:用线程池来更新,将更新代码提交到线程池中,由线程池调度入库缺点:没有解决与数据库频繁交互的问题。...原创 2019-03-05 17:31:09 · 1177 阅读 · 0 评论 -
HttpClien高并发请求连接池 - PoolingHttpClientConnectionManager
连接池技术作为创建和管理连接的缓冲池技术,目前已广泛用于诸如数据库连接等长连接的维护和管理中,能够有效减少系统的响应时间,节省服务器资源开销。其优势主要有两个:其一是减少创建连接的资源开销,其二是资源的访问控制。连接池管理的对象是长连接,对于HTTP连接是否适用,我们需要首先回顾一下长连接和短连接。 所谓长连接是指客户端与服务器端一旦建立连接以后,可以进行多次数据传输而不需重...转载 2019-05-12 13:52:53 · 1528 阅读 · 0 评论 -
Java读取json文件并对json数据进行读取、修改操作
1.介绍开发过程中经常会遇到json数据的处理,而单独对json数据进行增删改并不方便,尤其是Geojson文件的处理,通过对网络资料的整理总结,下面介绍Java语言方法对json数据进行读取、添加、删除与修改操作。2.说明Java语言操作json对象,需引入json数据操作库(org.json.jar)文件,可通过网络搜索寻找,另外本文附件代码中已包含,在Eclipse或其它编译工具...原创 2019-05-29 18:12:22 · 9630 阅读 · 2 评论 -
SSM框架SpringMVC@Scheduled注解简单实现定时任务
一、在Springmvc的xml头中加入如下:xmlns:task="http://www.springframework.org/schema/task"http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd">二、中...原创 2019-09-18 10:28:01 · 329 阅读 · 0 评论 -
Java实体类对象修改日志记录
一、比较对象类import org.springframework.beans.BeanUtils; import java.beans.PropertyDescriptor;import java.lang.reflect.Field;import java.lang.reflect.Method; /** * 对比两个对象的差值 * Created by Administ...原创 2019-08-20 15:53:36 · 761 阅读 · 0 评论 -
java 找到实体类model所有修改的属性
业务修改时,经常要比较实体类修改前后的变化记录日志利用反射快速找到修改前后实体类的变化【需要设置好getter方法】引用原版:Class object = Model.classMethod[] methods = object.getMethods();for(Method one:methods){ String methodName = one.getName();...原创 2019-08-20 14:33:49 · 852 阅读 · 1 评论 -
mysql批量插入数据抛出DuplicateKeyException导致无法插入
mysql在批量插入数据的时候,如果有一个字段具有unique约束,而插入数据重复的话,就会抛出DuplicateKeyException导致后续批量数据无法插入,这是可以在sql中使用ignore来让mysql不抛出异常:insert ignore into ... 这样遇到重复值就会跳过,后面的数据任然可以插入,返回值是真正插入的数据条数。 ...原创 2019-02-27 17:20:35 · 2027 阅读 · 0 评论