自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (11)
  • 收藏
  • 关注

转载 生成订单30分钟未支付,则自动取消,该怎么实现?

在开发中,往往会遇到一些关于延时任务的需求。例如生成订单30分钟未支付,则自动取消生成订单60秒后,给用户发短信对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下 3 点区别:定时任务有明确的触发时间,延时任务没有定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务下面,我们以判断订单是否超时为例,进行方案分析。

2021-11-04 09:39:40 666

转载 nginx反向代理后,jsp页面request.getServerPort()获取得端口号总是80解决方案

而通过nginx反向代理去访问,浏览中查看页面源代码,获取得端口号总是80,如图,该怎么解决? 分析原因及解决方案: nginx默认反向的端口为80,因此存在被代理后的端口为80的问题,这就导致访问出错。主要原因在Nginx的配置文件的host配置时没有设置响应的端口。 比如,nginx监听的端口为9080,而  Host 配置的只有 host, 没有对应的 port...

2021-09-09 14:11:17 815

转载 Docker相关知识学习

Docker概述基本介绍Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise

2021-08-19 11:21:09 1151

原创 java 实现docx多行水印

前言仅此记录对word、excel、pdf增加水印实现方案一、方案一1.1:maven依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version> </dependency> <dependency> &l

2021-07-21 14:18:05 2406 14

转载 为什么在new 对象里面使用自动注入对象会报空指针异常?

根本原因在于当Spring框架帮我们管理的时候就会自动的初始化接下来会用到的属性,而通过new对象的方式,在该new对象中使用到的一些实例就需要自己去做初始化,否则就会报空指针异常。如下例子所示:TestService 通过@Autowired注入,那么Spring容器就会自动注入TestService 中会用到的TestDao。如例一所示。例一:@RestController@RequestMapping(value = "/test")public class TestController

2021-06-28 10:32:14 1852

转载 redis 配置

RedisConfigimport com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.ObjectMapper;import org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration;im

2021-05-20 15:49:14 87

原创 RedisConfig

RedisConfigimport org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;

2021-05-15 16:53:58 104

转载 maven编译打包切换test,dev,prod环境

1.pom.xml加上profile信息:(profiles与build是同级的) <profiles> <profile> <id>dev</id> <properties> <profiles.activation>dev</profiles.activation> </properties&g

2021-04-24 00:06:16 1163

原创 docx 替换属性 poi-tl

之前写过一个POI 依据word模板 替换 ${xxx}属性 demo,正式上项目中,还有一些不足,比如说表格/图片/复选框等… 以poi的方式扩展起来很麻烦,还要整合/抽离一些方法,编码量太过于复杂。由此采用新的方式去实现 POI -TL官网:Poi-tl Documentation使用maven<dependency> <groupId>com.deepoove</groupId> <artifactId>poi-tl</

2021-04-19 16:55:16 677 3

转载 js限制文本框只能输入数字方法

输入大于0的正整数<input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.r

2021-04-06 18:58:51 902

原创 sql同时删除多张表的数据

sql删除多张表的数据 DELETE a, b, c FROM A a LEFT JOIN B b ON a.bId = b.id LEFT JOIN C c ON a.cId = c.id WHERE a.id = '666' AND b.type ='1' AND c.type ='2'

2021-03-11 09:16:06 8375

转载 API 面试四连杀:接口如何设计?安全如何保证?签名如何实现?防重如何实现?

导读:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃取)?除了https的协议之外,能不能加上通用的一套算法以及规范来保证传输的安全性呢?一、token 简介Token:访问令牌access token, 用于接口中, 用于标识接口调用者的身份、凭证,减少用户名和密码的传输次数。一般情况下客户端(接口调用方)需要先向服务器端申请一个接口调用的账号,服务器会给出一个appId和一个key, key用于参数签名使用,注意key保存到客户端,需要做一些安全

2021-02-20 09:22:27 290

原创 mysql Cannot delete or update a parent row: a foreign key constraint fails

原因删除表时,删除失败错误信息提示如下Cannot delete or update a parent row: a foreign key constraint fails解决:SET FOREIGN_KEY_CHECKS = 0; – 关闭外键检查执行目标sqlSET FOREIGN_KEY_CHECKS = 1; – 开启外键检查SET FOREIGN_KEY_CHECKS = 0; -- 关闭外键检查DROP TABLE IF EXISTS `test`;CREATE TABLE

2021-02-04 10:34:18 545 1

转载 lambda 删除HashMap的元素

在以下情况下,我需要从流中删除元素。如下伪代码示例:map.entrySet().stream().filter(t -> t.getValue().equals("0")). forEach(t -> map.remove(t.getKey()));在Java 8之前的代码中,可以从迭代器中删除-在这里处理这种情况的最佳方法是什么?方式一map.entrySet().removeIf(entry -> entry.getValue().equals("

2021-01-30 10:13:30 1164

转载 mybatis一对一查询

先准备两张数据库表用来数据演示表1Create TableCREATE TABLE `tb_card` ( `id` int NOT NULL AUTO_INCREMENT, `code` varchar(18) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8表2Create TableCREATE TABLE `tb_person` ( `id`

2021-01-15 11:01:29 421

原创 解决java.util.LinkedHashMap cannot be cast to List<T>问题

问题: 通过Dubbo调用后,返回的数据集为 LinkedHsahMap类型而不是我们实体/vo类型解决: List<ValueProjectReceiveDto> list = JSONObject.parseArray(JSONObject.toJSONString(pageDto.getRows()), ValueProjectReceiveDto.class);

2021-01-13 11:42:37 1849

原创 java通过字节下载文件

字节构建流 new ByteArrayInputStream(bytes) @RequestMapping(value = "/exportData", method = RequestMethod.GET) public void exportData(@RequestParam("excelCode") String excelCode, HttpServletResponse response) { ExcelDataDto excelDataDto = excelDtoSe

2021-01-09 14:06:56 2263

原创 byte[]和File转互相转换

File --> byte[] /** * 将文件转换成byte数组 * @param file 目标文件 * @return */ public static byte[] fileToByte(File file) { byte[] bytes = null; try { FileInputStream fis = new FileInputStream(file);

2020-12-31 17:50:24 12450 1

转载 spring-boot-devtools热部署

pom.xml <!--devtools热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional>

2020-12-23 11:03:42 107

转载 Spring mvc中post、get方法获取参数的几种方式

get与post两种方式的区别:对于本次主题而言,最显著的区别就是get请求方式参数是在url后,而post请求方式的参数是在request body中。因此两者获取参数的方式也大不一样。@Getter@Setter@AllArgsConstructor@NoArgsConstructorpublic class User implements Serializable { private static final long serialVersionUID = 1L; @Json

2020-12-15 18:08:20 298

原创 POI 依据word模板 替换 ${xxx}属性

maven依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>${poi.version}</version></dependency><dependency> <groupId>org.apache.poi</groupId>

2020-12-04 17:19:41 1475 4

原创 Gradle 下载并配置

官网下载地址: http://services.gradle.org/distributions/配置环境变量解压文件,并配配置环境变量先添加一个GRADLE_HOME在将 %GRADLE_HOME%\bin添加到path上,前面有个分号 ; 不要漏掉最后cmd 执行 gradle -v命令查看效果...

2020-11-06 12:59:22 131

转载 Java NIO 底层原理详解

写在前面很多的小伙伴,被java IO 模型,搞得有点儿晕,一会儿是4种模型,一会儿又变成了5种模型。很多的小伙伴,也被nio这个名词搞晕了,一会儿java 的nio 不叫 非阻塞io,一会儿java nio 又是非阻塞io,到底是啥呢?很多的小伙伴,被异步和非阻塞搞晕了。都非阻塞了,难道不是异步的吗?这这,好难呀。此文,从底层入手,给各位小伙伴,起底一下,java的四大io模型。需要面试的,或者没有弄清楚的小伙伴,彻底的有福了。1.1. Java IO读写原理无论是Socket的读写还是文件的

2020-11-02 10:22:50 696

原创 java 反射 记录修改前后的数据,精确到每个字段

效果package com.lst.sys.zhangth;import java.lang.reflect.Field;import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * @author zhangth * @date 2020年10月18日 * @desc 记录属性变更 */public class RecordP

2020-10-16 19:06:11 1874 8

转载 SpringBoot-AOP使用@Aspect切面实现请求接口频率限制

前言:在实际开发中,我们可能会遇到需要对某个接口请求频率做一定时间间隔的限制,如生活中常见的应用上二维码刷新频率限制等。于是这里做了一个简单的切面限制频率案例,使用的是切面注解方式,减少侵入性。一、切面实现请求接口频率限制1.pom.xml引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-

2020-10-14 18:18:19 754

转载 Spring AOP使用示例(注解)

AOP:【面向切面编程】         指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式。  1、导入aop模块:Spring AOP:(spring-aspects) 2、定义一个业务逻...

2020-08-31 15:56:00 413

转载 Java实现自定义注解

前言    前段时间一直想了解下java的自定义注解,包括面试的时候也遇到过类似问题,今天总算有时间来学习下。正文 注解(Annotation)概念    注解是Java SE 5.0版本开始引入的概念,它是对java源代码的说明,是一种元数据(描述数据的数据)。 注解和注释的不同注释  &nb...

2020-08-07 11:01:27 203

转载 Angular学习笔记(十五)组件周期钩子之变更检测和DoCheck

变更检测Angular的变更检测机制配合zone.js来实现,保证组建变化和页面变化同步浏览器中任何异步事件都会触发检测...

2020-07-13 16:17:43 362

原创 关于git同时提交到2个仓库gitee github

进入clone项目的.git目录修改config信息最初信息更改后参考如下:[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true[submodule] active = .[remote "origin"] url = https://gitee.com/Zzxdth/simpl

2020-07-02 19:15:34 532

原创 数组转换为String 字符串 工具类

/** * 数组转换为string * @param obj 数组 * @param splitter 分隔符 * @param prefix 每个对象用该前缀包含,例如 'a' * @param withStart 是否在收尾增加分隔符 * @return */ public static String collectionToString(Object obj, String splitter, String prefix,.

2020-07-01 10:22:29 797

转载 Java 使用线程池分批插入或者更新数据

public void batchDeal(List data ,Integer batchNum) { int totalNum = data.size(); int pageNum = totalNum % batchNum == 0 ? totalNum / batchNum : totalNum / batchNum + 1; ExecutorService executor = Executors.newFixedThreadPool(pageNum); try {..

2020-06-11 15:38:03 2522 2

转载 线程池多线程并发处理批量数据

import java.util.ArrayList;import java.util.List;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class ThreadPoolTool<T> { //单个线程处理的数据量 private int sin

2020-06-11 15:32:17 3283

原创 java 多个pdf文件合并,解决删除提示文件被占用

maven 依赖<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.13.1</version></dependen

2020-05-25 18:27:55 1729 4

原创 java 对.EML格式邮件文件解析

使用 Apache James Mime4J <dependency> <groupId>org.apache.james</groupId> <artifactId>apache-mime4j-dom</artifactId> </dependency> <dependency> ...

2020-04-30 09:58:40 1923 5

原创 java单纯获取文件名,移除后缀工具类

/** * 获取文件名称前缀 * @param fileName * @return */ public static String getPrefix(String fileName) { return getPrefix(fileName, false); } /** * 获取文件名称前缀 ...

2020-04-29 10:32:00 2743

转载 【CSDN】 CSDN文章保存为PDF

方法一:若使用火狐浏览器,借助现成的插件: PD...

2020-04-28 10:52:51 569

转载 Win下同时安装MySQL5和MySQL8并存

官网下载:https://www.mysql.com/1.1、点击Download->MySQL Community (GPL) Downloads二、下载下来的是压缩包,解压缩就行,放到自己想放的位置。三、配置环境3.1、在系统变量里添加MYSQL5_HOME,你的路径MYSQL8_HOME,你的路径四、安装数据库4.1、安装MySQL54.1.1、创建必...

2020-04-28 10:33:48 3890 7

原创 java 对Outlook保存的.Msg格式文件解析

前言:需求:文件控件上传.msg格式文件,达到预览效果。前端控件代码就介绍了。重点是解析文件。我是用了outlook-message-parser来解析文件。处理首先是maven依赖<dependency> <groupId>org.simplejavamail</groupId> <artifactId>outlook-mess...

2020-04-26 14:07:59 3735 3

原创 Poi 、Jacob 统计word文档字数实现方式

前言 有个需求通过读取word文件来获取文档字数,便于实施业务。 一开始用的Tika来做的,由于特殊字符解析的不是很正确,又换成POI来读取也有点问题, 最后用Jacob来读取解析,达到预定的结果集。再次记录下,有不对的地方欢迎指正。Tika的实现方式引入依赖<!-- https://mvnrepository.com/artifact/org.apache.tika/t...

2019-12-18 10:40:29 1653 1

原创 Lamdba Map取所有的value转化为List<T>集合

Map<String, T> map = (Map<String, T>) mailVo.getDataMap().get("map"); List<T> list = map.values().stream().collect(Collectors.toList());

2019-11-13 19:59:32 4342 2

Java 面试全解析:核心知识点与典型面试题.zip

java面试资料,需要的自行下载,不收积分 l;kl;

2020-11-05

文件排序以window规则

解压zip文件后得到临时文件路径,new File("解压后的临时文件路径") 会导致 新的文件的顺序错乱

2020-01-10

jQuery仿Windows系统文件夹目录操作代码.zip

jQuery仿Windows系统文件夹目录操作代码,来自资源搜索。

2019-05-20

Activiti案例demo

Activiti案例demo

2017-05-16

java 聊天上下线消息提示包含服务端

java 聊天上下线消息提示包含服务端

2017-02-08

Div 悬浮层 Demo

div 悬浮层 类似广告 右下方渐渐弹出

2016-12-20

js 黑洞资源特效

js 黑洞资源特效

2016-12-15

bcprov-jdk16-146.jar

bcprov-jdk16-146.jar

2016-12-14

模仿CSDN浏览器右下角弹出广告,兼容所有浏览器,扩张性强

模仿CSDN浏览器右下角弹出广告,兼容所有浏览器,扩张性强

2016-12-05

Echarts 饼状图

Echarts 饼状图

2016-09-05

Echarts 柱状图 折线图

Echarts 柱状图 折线图

2016-09-05

空空如也

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

TA关注的人

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