自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 重复提交校验+HttpServletRequest 流数据不可重复读

重复提交校验+HttpServletRequest 流数据不可重复读

2023-01-29 08:51:23 481

原创 vue使用wangEditor

vue使用Editor快速自用总结

2022-10-13 08:47:56 6568

原创 springBoot+thymeleaf+webapp+bootstrap+打jar包,最全自用记录

前言写本篇文章的目的,纯属自用记录。因为第一次接触thymeleaf,踩了好多坑,又因为自己不想用Thymeleaf默认配置模板路径,而是自己建webapp,发现网上更是很少可用的文章,特此记录。Thymeleaf是什么?简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。从代码层次上讲:Thymeleaf是一个java类库,他是一个xml/xhtml/html5的模板引擎,可以作为mvc的web应用的view层。为什么要使用Th

2022-04-01 14:44:55 2836

原创 SpringBoot中的定时任务与Quartz的整合

SpringBoot集成Quartz定时任务Quartz : 就是在指定的时间执行一次或者循环执行,在项目的开发中有时候会需要的, 还是很有用的.SpringBoot内置的定时添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency>启动类上添加注

2022-01-17 13:57:30 163

原创 第一篇:window下安装Elasticsearch 7.15.2 + kibana图形化工具

Elasticsearch简介(1)ElasticSearch是一个基于Lucene的搜索服务器,其实就是对Lucene进行封装,提供了 REST API 的操作接口,作为一个高度可拓展的开源全文搜索和分析引擎,可用于快速地对大数据进行存储,搜索和分析。(2)ElasticSearch主要特点:分布式、高可用、异步写入、多API、面向文档 。(3)ElasticSearch核心概念:近实时,集群,节点(保存数据),索引,分片(将索引分片),副本(分片可设置多个副本) 。它可以快速地储存、搜索和分析海量

2021-12-18 14:03:13 2806

原创 Java根据汉字首字母排序并分组+pinyin4j

用到pinyin4j<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</version> </dependency>真实案例代码 private List<LetterSortBo> buildBrandLetterSort(Li

2021-11-23 14:24:50 213

原创 vue+ueditor+springBoot自用总结

前言,公司项目需要用到富文本编辑框,指定用百度的ueditor说功能强大。那就用呗。因为公司前后分离,所以要分开搞。第一步下载ueditor我们要用到的是UTF8-jsp版本下载地址 点击下载除了jsp文件夹和index.html文件外,把所有的文件都复制到前台目录下的static里文件夹里,如下图:第二步封装前台组件,引用组件代码如下<template> <div> <script id="editor" type="text/plain"&gt

2021-08-02 14:59:50 481 1

转载 Spring 事务事件控制 解决业务异步操作解耦 @TransactionalEventListener 和 TransactionSynchronizationManager Transaction

背景:在业务中,经常需要在执行数据库操作后(事务提交完成),发送消息或事件来异步调用其他组件执行相应的业务操作。比如:用户注册成功后,发送激活码或激活邮件,如果用户保存后就执行异步操作发送激活码或激活邮件,但是前面用户保存后发生异常,数据库进行回滚,用户实际没有注册成功,但用户收到激活码或激活邮件。此时,我们就迫切要求数据库事务完成后再执行异步操作。@Autowiredprivate UserDao userDao;@Autowiredprivate JmsProducer jmsProducer

2021-06-28 14:59:10 787

原创 利用freemarker+html2image将html转化为图片

前言:接上篇freemarker生成word后,因为我们生成的是假word文档,底层还是xml,微信等app识别不了(目前还没有较好的技术解决这个问题)。所以产生了新的需求,把word的内容生成张图片。这样就可以在app端查看。导包<!-- html生成图片--> <dependency> <groupId>com.github.xuwei-k</groupId> <artifactId>html2image</artif

2020-12-28 20:11:03 2139 2

原创 利用Freemarker生成word文档

万事第一步引包<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency>第二步准备word模板,另存为.xml的形式word模板图:

2020-12-11 14:53:35 737

原创 DownloadUtils

import java.io.File;import java.io.FileInputStream;import java.io.IOException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;public class DownloadUtils { public static Boolean fileDownload(HttpServletRespons

2020-12-11 14:52:00 296 2

原创 WordUtils

import freemarker.template.Configuration;import freemarker.template.Template;import javax.servlet.http.HttpServletRequest;import java.io.*;import java.util.Map;public class WordUtils { /** * @param dataList word中需要展示的动态数据,用map集合来保存 * .

2020-12-11 14:49:21 463

原创 读取项目文件,获取路径

web项目读取webapp下文件window下String classpath = this.getClass().getResource("/").getPath().replaceFirst("/", "");String url = classpath.replaceAll("WEB-INF/classes/", "");//得到WebAPP目录 url = url + "/static/dist/img/zwtp1.jpg"linux下去掉 replaceFirst("/", “”);

2020-12-11 14:05:06 457

原创 httpsUtils外部接口调用

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.URL;import java.security.KeyManagementException;impor

2020-12-04 14:35:30 271

原创 HttpUtils调用外部接口

package com.gpyh.back.utils;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import

2020-12-04 14:33:42 975

原创 redis实现分布式事务锁

分布式锁分布式锁其实可以理解为:控制分布式系统有序的去对共享资源进行操作,通过互斥来保持一致性。通俗的讲就是,一间厕所就这一个坑,我先来了,上锁。只有我走之后,打开了锁,你才能进去,然后你在上锁。依次类推,来保持一致性。实现原理互斥性保证同一时间只有一个客户端可以拿到锁,也就是可以对共享资源进行操作安全性只有加锁的服务才能有解锁权限,也就是不能让a加的锁,bcd都可以解锁,如果都能解锁那分布式锁就没啥意义了可能出现的情况就是a去查询发现持有锁,就在准备解锁,这时候忽然a持有的锁过期了,然后b

2020-05-21 10:55:06 1587

原创 linux工作常用+遇到问题

开端口查询端口:firewall-cmd --permanent --query-port=20885/tcp添加端口:firewall-cmd --permanent --add-port=8101/tcp删除端口:firewall-cmd --permanent --remove-port=38085/tcp重载:firewall-cmd --reload查看端口列表:firewall-cmd --list-all在Linux中启动Tomcat权限不够问题解决解决:1、先进入

2020-05-12 13:27:52 148

原创 window下各种服务注册

Tomcat注册服务Tomcat到Window Service服务添加服务依赖Nginx注册服务nginx注册服务winsw下载

2020-04-29 11:28:01 125

原创 springBoot打war包+少走弯路

需求最近用boot写的项目,想打war包再外部tomcat运行。pom添加依赖<!--外置tomcat启动--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-b...

2020-04-29 11:17:28 422

原创 git常用命令

新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]配置# 显示当前的Git配置$ git config --list# 编辑Git配置文件$ git config -e [--global]...

2020-03-30 15:29:38 95

原创 如何在有序数剧中找到缺失的数字(例如1-100,随机抽出2个数字,找出抽取的数)

前言今天无意看到一个面试题,觉的很有意思。我理解的就是有100w条数据,从中抽走2条,然后问抽走的是哪两个。一开始自己也想了许多,什么二分法了,循环前后数相减不等于2的就是删除的数据。不过很快自己就推翻自己了,如果人家是拿走相邻的呢?如果人家不拿走2个,拿走5个6个呢?一开始也是自己想了很多很多,不过觉的都很烂。知道我发现了 java.util 里的 BitSet 类。我去很好的一次性的,...

2020-03-28 17:14:51 2090

原创 window下安装Elasticsearch 6.2.4 + elasticsearch-head插件

Elasticsearch简介(1)ElasticSearch是一个基于Lucene的搜索服务器,其实就是对Lucene进行封装,提供了 REST API 的操作接口,作为一个高度可拓展的开源全文搜索和分析引擎,可用于快速地对大数据进行存储,搜索和分析。(2)ElasticSearch主要特点:分布式、高可用、异步写入、多API、面向文档 。(3)ElasticSearch核心概念:近实时,...

2020-01-17 16:34:35 390

原创 springBoot+swagger2编写接口文档

Swagger 简介Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 快速集成添加pom依赖<!-- swagger-ui --><dependency>...

2020-01-13 11:20:31 132

原创 rabbitMq的死信实现

死信是什么?死信,在官网中对应的单词为“Dead Letter”,可以看出翻译确实非常的简单粗暴。那么死信是个什么东西呢?“死信”是RabbitMQ中的一种消息机制,当你在消费消息时,如果队列里的消息出现以下情况:消息被否定确认,使用 channel.basicNack 或 channel.basicReject ,并且此时requeue 属性被设置为false。消息在队列的存活时间超过设...

2019-12-21 11:35:34 146

原创 转换json字符串

引入pom<!-- fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2...

2019-12-19 13:48:48 74

原创 springBoot+rabbitMq实现五种队列模式

首先搭建一个boot项目,pom引入rabbitMq<!--rabbitMq--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp&l...

2019-12-18 17:44:01 2734

原创 Windows+RabbitMQ(第一步:安装 与 卸载 )

我看网上的好多rabbitMq安装,文章不少,但是都很笼统。你跟着他的步奏很难安装成功,出错了你也不知道该怎么办,于是自己亲自安装拉一把,也把在安装过程中遇到的坑和大家分享下。让想学习的人少浪费时间…学习RabbitMq之前需要先安装RabitMQ是使用Erlang开发的,它的运行依赖Erlang。所以在使用前需要下载安装ErlangErlang 下载地址:Erlang 下载RabbitM...

2019-12-17 09:26:58 863

原创 springBoot整合redis(JedisPool)+缓存工具类

添加依赖1-需要spring-boot-starter-data-redis依赖,支持redis:主要以为Jedis客户端为主,排除默认的lettuce作为客户端的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId&...

2019-12-13 11:06:08 4358 1

原创 windows下redis注册服务

打开redis安装路径并执行:redis-server --service-install redis.windows.conf注册入后,服务还未启动,执行命令:redis-server --service-start启动服务redis-server --service-stop暂停服务通过命令卸载服务:redis-server --service-uninstall...

2019-12-10 13:16:57 106

原创 SpringBoot+idea实现热部署(自动刷新)

一共需要两个步骤:第一步、先设置我们的pom.xml文件,加入依赖首先是把下面代码在中 <!--添加热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-...

2019-12-09 17:18:46 223

原创 java工具类获取汉字第一个字符小写

public class FirstLetterUtil { private static int BEGIN = 45217; private static int END = 63486; // 按照声母表示,这个表是在GB2312中的出现的第一个汉字,也就是说“啊”是代表首字母a的第一个汉字。 // i, u, v都不做声母, 自定规则跟随前面的字母 ...

2019-11-26 13:29:45 397

原创 java异常类

异常类结构图常见的异常种类:算术异常类:ArithmeticException空指针异常类:NullPointerException类型强制转换异常:ClassCastException数组负下标异常:NegativeArrayException数组下标越界异常:ArrayIndexOutOfBoundsException违背安全原则异常:SecturityException文件...

2019-11-20 14:33:16 177

原创 Map+HashMap+LinkedHashMap+TreeMap浅谈

1、MapMap 是一个接口,代表的是 key-value 键值对,Map 中不能包含重复的 key ,一个 key 最多对应一个值。有一些 Map 的实现允许 null 值,一些则不允许 null 值。2、HashMap基于哈希表的 Map 接口实现,未实现同步并允许 null 值,HashMap是无序的,。值得注意的是 HashMap 的 resize 方法,这个方法会在初始化和扩展容...

2019-11-20 10:20:14 96

原创 Git的安装

添加链接描述

2019-11-14 11:39:26 76

原创 git连接GitHub

首先获取…ssh下的id_rsa和id_rsa.pub如果有可忽略,如果没有请生成。1 进入下载好的git配置自己的信息:配置全局的name和email,这里是的你github或者bitbucket的name和emailgit config --global user.name "你的用户名" git config --global user.email "你的公司或个人邮箱"输入...

2019-11-14 11:37:38 279

原创 Linux下查询,释放内存空间。

系统内存空间满,定位。首先查看内存使用情况df -hl 或者 df -h /home 看到可用内存只剩3.3G查找占用内存最大的目录,如何定位最大文件目录输入命令: cd / 进入根目录。输入命令:du -h --max-depth=1 寻找当前目录,哪个文件夹占用空间最大以上两个命令之后,可以看到 /usr 此路径占用较大磁盘空间,占用了24G。眼尖的同学可能看...

2019-11-11 19:10:14 419

原创 sql时间相关操作

在创建表和查询表中的数据时, 经常会跟时间打交道, 比如查询某一段时间内的订单信息.如果要查询订单时间在5月1号到5月12号之间的数据Select * From order Where DATE_FORMAT(createTime,'%m-%d') >= '05-01' and DATE_FORMAT(createTime,'%m-%d') <= '05-12';DATE_...

2019-10-25 13:43:56 168

原创 idea创建svn分支

创建svn分支选择项目,右键,然后如图操作。就会出现下图。对图稍微解释一下。copy from :就是从哪个地方取数据来当作svn仓库的初始源码。有2个选项,二选一。working copy:估计就是把你本地的那个目录下面的项目文件,作为svn仓库的初始,copy 源。注意,要是使用这个选项,有些个是不需要提交到svn管理的,比如,web项目的target目录,等等repo...

2019-10-24 15:04:58 730

原创 Linux安装redies+开机自启+远程连接+卸载

安装命令安装我的安装路径/usr/local/redis/下载命令:wget wget http://download.redis.io/releases/redis-4.0.1.tar.gz下载完成后解压tar -zxvf redis-4.0.1.tar.gz编译cd redis-4.0.1make如果出现说明编译需要的C环境没有输入命令安装yum -y i...

2019-09-27 10:48:17 167

原创 Liux中安装mysql

Linux安装mysql校验当系统是否安装mysql:rpm -qa | grep mysql已经安装过的卸载mysql卸载mysqlrpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64使用yum命令安装mysqlyum install -y mysql mysql-server mysql-devel成功安装启动mysqlserv...

2019-09-26 11:14:39 164

空空如也

空空如也

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

TA关注的人

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