自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 基于 EasyExcel 的通用 Excel 导入框架设计:注解驱动 + 双管线两段式,从踩坑到性能优化

本文详细复盘了一个政企项目 Excel 导入框架的演进过程。针对传统实现中存在的性能浪费(每行重复反射扫描注解)、字典校验复杂度爆炸、策略重复判断等问题,设计了一套基于注解驱动、启动期元数据缓存、校验/转换双管线两段式设计的通用导入框架。核心优化包括:1)启动期缓存所有注解元数据,运行期零反射;2)校验和转换采用两段式策略,将批次级不变量前置计算;3)字典校验和转换通过预建索引将复杂度从 O(N×F×D) 降为 O(1);4)支持自定义注解扩展点,遵循开闭原则。

2026-08-21 15:39:12 389

原创 支付对接自定义 Starter

本文提出了一种基于Spring Boot的支付组件设计方案,整合微信支付V3和支付宝OpenAPI V3,采用策略模式、模板方法、工厂模式等多种设计模式实现统一接入。通过InitializingBean自注册机制和条件装配技术,实现了支付渠道的零侵入扩展和按需加载。组件包含支付类型枚举、统一DTO、配置属性类等核心模块,支持扫码支付、PC支付等多种场景,提供高度可复用、易扩展的支付解决方案。技术栈采用Spring Boot 3.5.5,集成微信支付和支付宝官方SDK,通过Maven管理依赖,构建了自动配置模

2026-06-25 06:56:33 205

原创 工厂+策略模式实现文件上传切换

工厂+策略模式的文件上传

2026-06-16 08:33:29 253

原创 记录一个关于引用传递的问题

记录一个关于引用传递的问题在mani方法中调用test方法,引用传递一个list对象,对引用传递的list对象使用等号进行赋值。在test方法中等号赋值是新建了一个list对象,在方法执行完之后,新建的list对象被虚拟机回收。导致main方法中的list值为空。public static void test(List<Integer> list) { List<Integer> testList = new ArrayList<>(); tes...

2021-10-18 16:45:16 211

原创 记一次对请求头为multipartform-data的post请求参数加密操作以及传参

记一次对请求头为multipart/form-data的post请求参数加密操作以及传参背景:对接一个第三方系统,提供的接口要求对参数进行RSA加密,Base64转码。而且请求头为multipart/form-data。1、秘钥加密代码/** * <p> * 私钥加密 * </p> * * @param data * 源数据 * @param privateKey *

2020-06-17 10:37:11 3832

原创 使用MybatisPlus对List数据进行分页

使用MybatisPlus对List数据进行分页情形:客户提出需求,列表展示的数据需要先把所有的数据进行排序,然后再展示。分别有五个类别的数据,每个类别的排序条件不同。我寻思着,这还不简单。直接调用mybatisplus提供的selectPage方法,然后对查出的数据按照要求排序不就行了。数据查询处理之后,当前页的数据是进行了排序,但是并没有跟下一页的数据进行比对。所以,应该是先查出所有数据,然后在进行分页。1、使用mybatisplus提供的selectList方法,查询所有数据。 List<

2020-05-22 16:38:25 16443 3

原创 springboot 整合 swagger2出现的小问题

springboot 整合 swagger2出现的小问题问题:在swagger-ui.html页面中下来展示api时,无法展示。控制台报错:springboot 版本<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <versio

2020-05-12 15:30:10 618

原创 Spring Bean的自动装配

Spring Bean的自动装配Spring中三种装配方式1、xml显示装配2、java显示装配3、隐式自动装配beanByName自动装配(id唯一)<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmln...

2020-05-04 10:58:15 213

原创 Java-----数组(Array)

概念:是相同数据类型的元素按一定顺序排列的集合。数组是一种引用数据类型,用来存储相同数据类型的多个元素。 通过一个整形下标[i]访问数组中的元素。数组是一个有界的线性序列,长度被固定。      元素1       元素2      ……   元素n-1 元素n        0         1      ……      n-2 ...

2018-08-11 14:08:04 192

原创 对list集合中的指定元素进行比较

Student.java public class Student { private String no; private String name; private String major; private String age; private String time; public Student() { } public Student(String no, St...

2018-08-11 13:40:05 6923

原创 学习java第二天

标识符标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。命名规则:1、标识符由数字、字母、下划线、美元符号($)、人民币符号(¥)组成。2、以字母、下划线、美元符号($)开头。3、java标识符对字母大小写敏感。4、长度无限制(但一般不会很长,见名知意)。5、不能使用关键字。命名约定:1、类和接口名:每个字的首字母大写,含有大小写。2、方法名:...

2018-07-19 19:50:15 342

原创 学习java遇到的问题1

在cmd中用javac编译java程序,会出现javac不是内部命令的错误。这是因为没有将环境配置配好。环境配置的方法:安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量系统变量→新建 JAVA_HOME 变量 。变量值填写jdk的安装目录,我的jdk是安装在D盘中的,所以我的是系统变量→寻找 Path 变量→编辑在变量值最后输入 %JAVA_H...

2018-07-18 20:27:09 636

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除