
开发笔记-杂
文章平均质量分 65
93年的香槟
邮箱 1911150175@qq.com
展开
-
flyway+junit5做集成测试、单元测试
适用场景功能开发完成后,后端开发人员进行代码自测代码重构后,集成测试一些注解相关源码包: junit-jupiter-apiannotationsdescription@Test用例@ParameterizedTest参数化用例@DisplayName标识用例的名称@BeforeEach每个用例运行之前操作@AfterEach每个用例运行之后操作@BeforeAll本类的每个用例运行之前操作@AfterAll本类的每个用原创 2021-08-30 16:12:04 · 576 阅读 · 1 评论 -
java.util.Properties的几个坑
之前排查线上问题,发现数据源的部分配置没有生效,结果跟了下源码,发现Properties这个类的新大陆,这里记录分享下下面的代码,大家认为输出分别是多少? 我先说结果啊,size:1 ,value: CHINA Properties firstProperty = new Properties(); firstProperty.setProperty("zone", "CHINA"); firstProperty.setProperty("time-o原创 2021-06-23 19:34:17 · 457 阅读 · 0 评论 -
XXL-JOB源码分析
本文档以2.2.0版本为基准一、表结构 xxl_job_group 执行器表 保存执行器列表,客户端地址列表 xxl_job_info 任务调度表 保存任务列表,下次调度时间 xxl_job_lock 并发锁表 Admin集群场景 ...原创 2020-10-10 13:44:55 · 2450 阅读 · 0 评论 -
简单了解JDK1.8的5种线程池
线程池 构造函数 核心线程 最大线程 线程存活时间 队列 FixThreadPool ? 等于核心线程数 永久 LinkBlockingQuque SingleThreadPool 1 1 永久 LinkBlockingQuque CacheThreadPool ? Integer.MAX_VALUE ? SynchronousQueue ScheduledThreadPool .原创 2020-06-05 11:40:27 · 551 阅读 · 0 评论 -
HashMap源码的初步了解
JDK1.8首先我们初始化HashMap对象,这里一共有3个构造函数 //初始化一个HashMap对象,定义初始化容量为2,加载因子为1f Map<Integer,String> map = new HashMap<Integer,String>(2,1f); //初始化一个HashMap对象,定义初始化容量为4,加载...原创 2020-02-27 11:02:32 · 358 阅读 · 0 评论 -
代码版本GIT管理规范
目前team中的代码管理规范,分享一下一、版本管理工具git二、分支说明2.1 master分支master属于生产稳定主分支,所有版本迭代上线后,代码变动最终都需要合并至主分支的代码中。主分支上的代码每次被更新,都应有对应的标签(TAG)。2.2 feature分支feature属于产品规划的版本分支,是多个dev分支小组的合集,由dev合并生成。是正常产品版本提测时的分支,供测试...原创 2019-09-06 14:16:41 · 993 阅读 · 0 评论 -
设计模式—代理模式(Proxy)
代理模式的应用场景:springAOP、旧业务代码改造静态代理:首先有个业务接口IPayChannelService,里面有2个功能:扣款、退款public interface IPayChannelService { public boolean pay(String orderId); public boolean refund(String orderId);}旧...原创 2019-08-08 13:56:33 · 207 阅读 · 0 评论 -
FastJson序列化的注意点
最近在开发过程中,用FastJson将javabean序列化成String打印到日志中时,发现部分bean属性缺失检查发现,这是由于FastJson的序列化机制产生了影响public class DemoBean { private String name; private Integer age; private boolean isMale; //注意看这个g...原创 2019-07-04 10:58:10 · 1664 阅读 · 0 评论 -
跟着例子看java反射
关于反射,我的理解是用某些基本信息(类名、方法名、变量),逆向生成对象并调用其中的函数。有点像用基因技术生成一个新生命。这里,我用网关API来举例:我们平时在调用银联、xx银行的系统时,对方往往只给与一个url,具体业务依靠入参[交易代码]来做分流,内部调用不同的service。我们先创建一个交易代码枚举类ApiEnumspublic enum ApiEnums { CONSUM...原创 2018-11-27 16:02:33 · 138 阅读 · 0 评论 -
Linux常用命令
.sql大文件脚本导入数据库原创 2018-11-23 10:24:55 · 201 阅读 · 0 评论 -
JAVA回调
回调定义:先不告之,回头调用并告之。说明,回调机制有异步通知特点。 目前系统架构潮流是微服务+MQ异步,如果业务不需要这种架构或者仅单机部署,要怎么做到子线程业务不影响主线程服务呢。 这时候,回调就出现了Callback,比如有个业务,需要发送邮件,但发送邮件不能影响主业务 一般方法:main-Thread调用emailService,emailService另开线程发送邮件但如果我...原创 2018-07-02 14:45:56 · 340 阅读 · 0 评论 -
maven仓库导入jar包
这里以导入支付宝sdk为例:打Jar包到本地仓库mvn install:install-file -Dfile="D:\Program Downloads\alipay-sdk-java-3.0.0.jar" -DgroupId=com.alibaba -DartifactId=alipay-sdk -Dversion=2.0.6 -Dpackaging=jar打Jar包到Nexus远...原创 2018-05-10 10:45:24 · 525 阅读 · 0 评论 -
使用iText库创建PDF文件(含中文解决方案)
所涉及到的JAR包地址: 下载地址 文档记录了生成PDF的4种场景: 第一部分:直接生成PDF文件; 第二部分:将HTML文件转成PDF文件; 第三部分:将字节流转成PDF文件,并放入servletResponse(本地不生成文件); 第四部分:将字节流转成PDF文件并打包成压缩包,并放入servletResponse(本地不生成文件); 第五部分:html转pdf,中文解决方案第原创 2018-01-30 10:32:19 · 1701 阅读 · 0 评论 -
上转图片并预览
<!-- zhouxiang www.zhou-xiang.com --><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml原创 2017-10-18 10:10:04 · 197 阅读 · 0 评论 -
Websocket(一)简单的demo实现
首先是jar包依赖导入 dependency> groupId>javax.websocketgroupId> artifactId>javax.websocket-apiartifactId> version>1.1version> scope>providedscope>原创 2017-09-20 10:42:02 · 640 阅读 · 0 评论 -
JAVA参数验证 Validation(一)
作者邮箱:1911150175@qq.com现状:部分人验证参数时,是在每个方法内对每一个参数进行一一验证;但是如果这些参数在多个接口共同会使用到,就会增加一部分重复代码劳作,如果能将这些参数验证放到一起,那么代码将会变得更加简洁。现状@Override public RechargeResponse recharge(RechargeRequest request) {原创 2017-09-08 14:15:20 · 2166 阅读 · 0 评论 -
JAVA参数验证 Validation(二)分组校验&自定义校验
有些时候一个参数会在多个场景使用,不同场景对该参数的校验需求不同,即有些场景不对该参数进行校验。 比如注册时,我们要填写出生日期参数,但是登录时并不需要该参数这里可以用到校验分组groupspublic class User implements Serializable { // 添加2个空接口,用例标记参数校验规则 /** * 注册校验规则 */原创 2017-09-08 15:29:05 · 17465 阅读 · 0 评论 -
springMVC异常统一处理
先以统一处理validation抛出的异常为例。// 该注解在4.0后支持对指定包、类进行管理annotations(), basePackageClasses(), basePackages()@ControllerAdvicepublic class ValidateControllerAdvice { /** * bean入参校验未通过异常捕获 */ @E原创 2017-09-11 10:25:09 · 487 阅读 · 0 评论