摘要:效果展示: 以及更多的效果,可以访问官方文档示例 ····> https://deepoove.com/poi-tl/示例 依赖引入: <dependencies> <!-- poi-tl 核心依赖 --> <dependency> <groupId>com.deepoove</groupId> <
阅读全文
摘要:背景说明 项目完成前后,需要提供各种各样的文档,我所在的公司,每次项目结束要整理的文档高达29个,其中有些文档很单一但是数据量很大,这个时候就必须偷懒一下了。 使用依赖 <groupId>cn.smallbun.screw</groupId> <artifactId>screw-core</arti
阅读全文
摘要:功能说明: 1、自定义表头、多级表头的表格导出 效果展示: maven引入依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.6</version> </dep
阅读全文
摘要:

UPD与TCP对比: UDP是无连接的协议,也不保证可靠交付,只在IP数据报服务之上增加了很少的功能,主要是复用和分用以及差错检测的功能。这适用于要求源主机以恒定速率发送数据,允许网络拥塞时丢失数据,却不允许数据有太大时延的实时应用。 TCP则是面向连接的传输层协议,提供可靠的交付服务。TCP把连接
阅读全文
摘要:知识点: MyBatis 语法概览 MyBatis 是一个强大的数据持久化框架,它提供了一种半自动化的 ORM 实现方式。通过 MyBatis,开发者可以通过简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java
阅读全文
摘要:业务原因,需要在一个项目中与多方MQ进行业务通信; 步骤一,复制一份RocketMQProperties配置文件,避免与原来的冲突 package com.heit.road.web.config; import org.apache.rocketmq.common.topic.TopicValid
阅读全文
摘要://比较两个实体,返回两个Map结果 public static void compare(String tableId, Object source, Object target, Map sourceMap, Map targetMap) { sourceMap.putAll((Map) Bea
阅读全文
摘要:背景说明: 在处理复杂业务的时候,特别是研发自测期间,经常会产生很多不必要的垃圾数据。 技术原理: 先将要存入数据库的数据放在缓存中,等所有业务代码执行完后,再统一保存; 代码如下: @Slf4j public class BaseService<M extends BaseMapper<T>, T
阅读全文
摘要:背景说明:做这个的原因主要是因为懒,KafKa监听没有独立项目出去,由于KafKa没有组内广播模式,这就造成了一个问题:项目多处启动的时候,就只有一个地方能接收信息。这个时候就要手懂修改分组ID了。 原理说明: 采用一些语法,使用动态的配置。 代码如下: @KafkaListener(id = "#
阅读全文
摘要:简单介绍一下使用的依赖: JGraphX package JGraphX is a Java Swing diagramming (graph visualisation) library licensed under the BSD license (see https://github.com/
阅读全文
摘要:原理很简单:1、利用mysql的information_schema库,获取对用表的信息; 2、使用DataSource,建立数据库连接,并执行sql脚本; 3、Map的keySet和values集合是顺序一致的; 4、" on duplicate key update "这里摸了个鱼,将新增和修改
阅读全文
摘要:原理很简单,利用对象引用特性。 科普一下知识点: 浅拷贝: 浅拷贝又称为浅复制,浅克隆,浅拷贝是指拷贝时只拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用所指向的对象,拷贝出来的对象的所有变量的值都含有与原来对象相同的值,而所有对其他对象的引用都指向原来的对象,简单地说,浅拷贝只拷贝对象
阅读全文
摘要:结构包: 使用案例: 实现效果: 1、基本并发的本地缓存,基于分布式轻量级锁的redis缓存 2、热缓存(高频访问持续缓存)+快速过期(本地缓存2秒,redis缓存10秒) 3、方法级别缓存清理 (@HybridCache 与@HybridChange 绑定管理缓存 ) 4、基于HybridType
阅读全文
摘要:第一步:利用RDM等redis连接工具查看相应事件,然后去网上搜索 一下,会有redis各种事件的说明,选择契合业务的事件; 第二步:创建监听处理类; 1 package com.lechuang.auth.advice; 2 3 import com.lechuang.common.core.en
阅读全文
摘要:由于springboot启动顺序:先加载上下文再加载bean 开始日常搬砖: 1、通过启动日志发现nacos在PropertySourceBootstrapConfiguration中加载上下文配置: 2、查找源码包位置,以及被执行顺序: 3、查找加载方式: 4、根据以上信息,搬砖一套到自己的项目中
阅读全文
摘要:1 /** 2 * 将一个数随机拆分为多个整数 3 * @param beans 最终结果集 默认null 4 * @param num 补偿结果集 默认null 5 * @param digital 需要拆分的数 6 * @param fraction 需要拆分的份数 7 * @param avg
阅读全文
摘要:1 /** 2 * 获取项目所有被注解修饰的url 3 * @param run 4 */ 5 public void getAllUrl(ConfigurableApplicationContext run) { 6 //获取restcontroller注解的类名 7 String[] beanN
阅读全文
摘要:两大踩坑点: 一:部分框架自带有查询当前登录人的信息工具,无需各种本地线程栈ThreadLocals取Request啥的折磨自己; 二:Security自带有uri匹配的工具,没事多翻翻源码,原创方法的执行效率可能并不高; 1 package com.*.server.order.config; 2
阅读全文
摘要:当前支持: 1.仅文字 2.加入聊天室提醒 3.退出聊天室提醒 可能出现的BUG: 1.可能出现客户端发送信息后不能及时推送,需要下一个客户端发送信息后一起推送 服务端代码: 1 package com.example.demo.socket; 2 3 import org.springframew
阅读全文
摘要:Java 自定义注解及使用场景 转载: https://www.jianshu.com/p/a7bedc771204 Java自定义注解一般使用场景为:自定义注解+拦截器或者AOP,使用自定义注解来自己设计框架,使得代码看起来非常优雅。本文将先从自定义注解的基础概念说起,然后开始实战,写小段代码实现
阅读全文