EasyExcel 复杂表头的导出(动态表头和静态表头) 如果不看1的部分,2部分+内容可以根据实体类+注解的方式导出,那么我们是不是可以先将动态表头1 写入到Excel中,然后再用注解+实体类的方式将2部分和内容写入到Excel中。:如图,1部分的表头是动态的根据日期变化,2部分是数据库对应的字段,静态不变的;下边是项目中的完整代码,可以做简单参考。本文由博客一文多发平台。
SpringBoot整合Gateway 的Demo(附源码) Gateway 的父pom.xml。Gateway 的pom.xml。添加路由配置信息(放在配置中心)添加注册中心和配置中心配置。添加一个service服务。不通过gateway访问。本文由博客一文多发平台。配置注册中心和配置中心。配置中心的配置文件内容。通过gateway访问。
SpringBoot的常用注解的服用方式 是SpringBoot应用程序的核心注解,通常用于主类上。:表示该类是一个配置类,用于定义Spring的配置信息。:表示启用自动配置,SpringBoot会根据项目中的依赖自动配置相应的组件。:表示启用组件扫描,SpringBoot会自动扫描当前包及其子包下的所有组件。是一个组合注解,用于定义RESTful风格的Web服务。:表示该类是一个控制器类,用于处理HTTP请求。:表示将方法返回值作为HTTP响应体,而不是视图名称。@Autowired用于实现依赖注入。
Vue+SpringBoot实现文件的分片下载 文件的分片下载顾名思义就是将文件分成一片一片,每次请求只下载一片,最后将文件进行整合下载,目的是为了防止文件大的情况,出现系统崩溃。SpringBoot后端实现文件的分片。
如何使用MyBatis进行数据存储的加密、解密 背景:在大部分的系统中,出于用户的隐私安全考虑,都会对数据库内容进行加密,那么在编写业务代码逻辑时加密也不太现实。于是通用的加解密插件就应运而生,本文将采用mybatis的拦截器作为基础进行实现。思路:我们可以通过mybatis的拦截器进行参数的加密和解密解密。
Java Date与LocalDateTime、Date与XMLGregorianCalendar 互相转换 Java Date与LocalDateTime、Date与XMLGregorianCalendar 互相转换。
策略模式实战(SpingBoot版) 背景:在做数据处理的时候,需要根据不同的选项,进行不同的处理。第一个想法肯定是if-else进行处理,但是试想一下如果我们后续再添加十个、二十个分配方式,还用if-else是不是就太不美观了,而且if-else的可扩展性也很差,今天我们用策略模式去做一个简单的处理。前端请求上图前端处理时的四个选项我们可以分别给它们设置key:1、2、3、4,后端接口1. 创建一个通用策略接口public interface HandleData { /** * 定义选择的key类.
如何制作jar依赖,并打入maven仓库 一、创建一个maven项目(创建步骤此处省略)二、创建一个类并自定义一个方法(这里我们自定义一个equals方法为例)public class CustomerEquals { public static Boolean equals(Object str1, Object str2) { return str1 == str2 || str1!=null && str1.equals(str2); }}三、在resources路径下建立META
Java通过注解和反射修改属性值(男、女修改为0、1) 1.最近遇到了一个需求:导入用户信息Excel,需要将属性值:男、女,存入到数据库的时候是0、1这样的code码2.最简单的解决方式就是if-else… ,需要转code码的属性少可以使用,多的话就比较麻烦了。3.于是就一通搜索,写出了适合自己需求一个方法一、话不多说,看效果(后端将男转换为0)demo地址二、解决思路1、通过注解标注需要转换的值2、通过反射获取注解属性值和需要转换的值1)、maven依赖<dependency> <groupI.
Java实现单向循环链表的操作 package stackandqueue.stack.link;/** * @author tianzhuang * @version 1.0 * @date 2021/11/25 16:46 */public class CirculeLink { Node head = null; int count = 0; // 添加一个统计链表数量的变量,操作链表会非常的方便 class Node{ private int val; pri
rabbitmq实现死信队列(springboot+rabbitmq) 1.什么是死信队列(专门用来存放死信的队列)当一个队列中的消息变成死信以后,该消息被重新publish到另一个交换机(该交换机叫做死信交换机)上,交换机将消息发送到指定的队列(该队列叫死信队列)中。2. 消息什么时候会变成死信1)消息被拒绝(basic.reject / basic.nack),并且requeue = false2)消息TTL过期(本文将演示消息过期形式)3)队列达到最大长度3. 死信队列可以用来做什么:场景1:订单30分钟内未支付,将订单取消(消息过期时间设置30分
Java操作实现双向链表的操作 package stackandqueue.stack.link;/** * linkedlist的实现原理就是双向链表结构 * * @author tianzhuang * @version 1.0 * @date 2021/11/16 16:40 */public class DoubleLinkList { class Node{ private int val; private Node next; private Node
Java实现单链表的操作 package stackandqueue.stack.link;/** * 单链表的操作 * @author tianzhuang * @version 1.0 * @date 2021/11/12 18:22 */public class MyLink { Node head = null; class Node{ private int val; private Node next; public Node(int
Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected SpringBoot整合es时出现版本不匹配的问题(如下报错):Found interface org.elasticsearch.common.bytes.BytesReference, but class was expected解决方式(将elasticsearch-rest-high-level-client依赖和spring-boot-starter-data-elasticsearch版本修改一致即可解决):查看pom.xml文件中elasticsearch-rest-high-le