自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(233)
  • 资源 (12)
  • 问答 (1)
  • 收藏
  • 关注

原创 Spring参数注解,支持数组入参(List)校验

Spring参数注解,支持数组入参(List)校验

2023-08-22 14:13:51 1389

原创 PGSQL JSONB用法

查询jsonb对象数组是否包含某个元素。

2023-03-22 15:14:03 338

转载 SpringBoot整合redis, RedisTemplate默认使用Lettuce客户端超时问题

SpringBoot整合redis, RedisTemplate默认使用Lettuce客户端超时问题问题解决的方案方法一:方法二:问题在开发的时候,使用到Lettuce连接redis,一段时间后不操作,再去操作redis,会报连接超时错误,在其重连后又可使用。原因是:Lettuce 自适应拓扑刷新(Adaptive updates)与定时拓扑刷新(Periodic updates) 是默认关闭的导致问题的出现解决的方案方法一:1、重写连接工厂实例,更改其LettuceClientConfigur

2021-07-05 15:20:15 1772 1

原创 springboot2.0.1集成elasticSearch+X-pack配置

pom文件配置: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> <exclusions> <exclusion> <groupId>org.elasticsearch.client

2021-04-14 13:00:59 483

原创 IDEA Git版本回滚提交方式

以此文记录下在IDEA中如何回滚项目历史版本,并提交远程大致分为两步:1.回滚本地代码。2.回滚远程代码。1.回滚本地代码首先,我们先来回滚本地代码按照下图的步骤,获取你要回滚的历史版本的版本号然后项目根目录右键 Git->Repository->Reset HEADReset Type 有三种:1.mixed 默认方式,只保留源码,回退commit和inde...

2020-01-12 11:08:32 1061 2

原创 springboot集成mybatisPlus发现BaseMapper里面的默认方法不能用

解决方式查看mybatisPlus的配置类是否使用了MybatisSqlSessionFactoryBean ,如果是使用了sqlSessionfactory可能会导致无法使用,解决方法:将sqlSessionfactory替换为MybatisSqlSessionFactoryBean ,配置如下:...

2019-12-08 14:21:17 3591 2

原创 mybatisPlus,druid 因为JDK8 LocalDateTime报错问题解决

报错org.springframework.dao.InvalidDataAccessApiUsageException: Error attempting to get column 'creation_time' from result set. Cause: java.sql.SQLFeatureNotSupportedException; null; nested exception ...

2019-12-07 10:30:32 2262 1

原创 IntelliJ IDEA 高级调试技巧

一、条件断点循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。参考上图,在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可,这样调试时,就会自动停在i=10的位置二、回到"上一步"该技巧最适合特别复杂的方法套方法的场景,好不容易跑起来,一不小心手一抖,断点过去了,想回过头看看刚才的变量值,如果不知道该技巧,只能再...

2019-11-10 12:55:01 244

转载 vmware 桥接模式下与虚拟机互ping不通问题-终极解决办法

原文链接:https://blog.csdn.net/helloexp/article/details/84787019寻寻觅觅,在百度找了好几个月,一直没有解决(你没有看错,确实是好几个月),最终google 了十分钟不到解决了废话不多说,先说解决办法1、防火墙禁ping导致(关闭虚拟机、物理主机防火墙再试一下即可,或开启icmp访问)2、桥接的物理网卡不对解决办法选中桥接模式...

2019-09-08 20:11:13 3449 3

转载 SpringBoot 整合 Elasticsearch、IK分词器 实现全文检索

源码地址:https://github.com/Tellsea/springboot-learn/tree/master/springboot-elasticsearchElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布...

2019-07-11 17:10:29 1324

原创 Centos安装ElasticSearch

第一步:必须要有jre支持elasticsearch是用Java实现的,跑elasticsearch必须要有jre支持,所以必须先安装jre…这里jre的部署就不讲解了…可以百度了解下…第二步:下载elasticsearch官网地址:https://www.elastic.co/downloads/elasticsearch因为是centos中运行 所以我们选 tar.gz压缩包,下载后 ...

2019-06-23 20:55:50 949

转载 Mysql的索引讲解(覆盖索引,聚簇索引,辅助索引)

在MySQL中,like ‘string%’可以用到索引,但是like ‘%string%’却会全表扫描。这个是常识,但真的就没有解决方法了吗?有的,要使用到索引覆盖。什么叫覆盖索引?解释一: 就是select的数据列只用从索引中就能够取得,不必从数据表中读取,换句话说查询列要被所使用的索引覆盖。解释二: 索引是高效找到行的一个方法,当能通过检索索引就可以读取想要的数据,那就不需要再到数据表...

2019-06-18 16:45:33 656 1

原创 Linux Centos7.5下MongoDB安装和配置详解

一、创建MongoDB的安装路径在/usr/local/ 创建文件夹mongoDBmkdir mongoDB二、上传文件到Linux上的/usr/local/source目录下mongodb-linux-x86_64-3.4.21-rc0.tgz 的下载地址:将以上文件放置到以上目录。三、解压文件进入到/usr/local/source目录:cd /usr/local/sou...

2019-06-14 15:21:41 516

原创 通过RestTemplate进行微服务间(通过服务名)的调用

样例:@Slf4j@RestController@RequestMapping(path = "/test")public class TestController { @Autowired @LoadBalanced private RestTemplate restTemplate; @ApiOperation(value = "test", no...

2019-06-12 17:55:01 7884

原创 Springboot发送邮件(集成JavaMailSender MimeMessage)

1.在Spring Boot的工程中的pom.xml中引入spring-boot-starter-mail依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte...

2019-06-10 17:29:07 3447

原创 springboot集成sonar+jacoco检查代码和覆盖率

1.配置本地maven的settings.xml的maven地址。 <pluginGroups> <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> </pluginGroups> <profiles> <profi...

2019-06-05 17:11:41 3874 2

转载 Redis通过Sorted Sets实现排行榜功能(实战)

转载出处:https://blog.csdn.net/m0_37459380/article/details/82971525需求前段时间,做了一个世界杯竞猜积分排行榜。对世界杯64场球赛胜负平进行猜测,猜对+1分,错误+0分,一人一场只能猜一次。1.展示前一百名列表。2.展示个人排名(如:张三,您当前的排名106579)。分析一开始打算直接使用mysql数据库来做,遇到一个问题,每个...

2019-06-04 14:35:31 505

转载 VMware14安装CentOS7.5

1、下载并安装VMware142、下载CentOS-7.5-x86_64-DVD-1804.iso3、VMware选择新建虚拟机4、这里选择自定义,可以更详细的设置虚拟机设置5、选择兼容版本,我这里是146、稍后安装操作系统7、选择操作系统版本 这里选择Linux CentOS7X648、输入虚拟机名称和虚拟机位置9、选择处理器配置,根据自己的虚拟机要求选择,我这里做...

2019-06-01 22:15:47 281

原创 CENTOS 7 和 JDK 添加中文和emoji字体操作说明

CENTOS 7 和 JDK 添加中文和emoji字体操作说明1.检验系统是否安装fontconfig mkfontscale。执行fc-list命令,若出现fc-list command not found提示,执行以下命令安装,否则不需要执行。yum install -y fontconfig mkfontscale2.系统添加中文和emoji字体。在服务器上面建立相关目录,...

2019-05-28 14:23:01 1296

转载 Spring Kafka中关于Kafka的配置参数

SpringKafka文档地址:https://docs.spring.io/spring-kafka/reference/htmlsinglekafka文档地址:http://kafka.apache.org/documentationSpringKafka中配置的Java配置实现类:https://github.com/spring-projects/spring-boot/blob/v1...

2019-05-08 18:35:48 547

转载 java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一

1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型...

2019-05-08 09:47:20 154

原创 SpringBoot 2.X @Cacheable,redis-cache 如何根据key设置缓存时间

demoimport com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.ObjectMapper;import com.github.benmanes.c...

2019-05-05 15:34:52 1767 1

转载 ShedLock锁

ShedLock是一个锁,官方解释是他永远只是一个锁,并非是一个分布式任务调度器。一般shedLock被使用的场景是,你有个任务,你只希望他在单个节点执行,而不希望他并行执行,而且这个任务是支持重复执行的。如对某些查询出来的数据打标签,没有任何的事务性处理操作。以上,官方的解释比较拗口,具体可以参见github上的wiki。我的理解,ShedLock是一个悲观锁,而无论悲观锁还是乐观锁,他的实现...

2019-04-19 17:11:17 763 1

原创 SpringBoot使用Swagger2实现Restful API--使用说明

@Api:用在请求的类上,表示对类的说明tags=“说明该类的作用,可以在UI界面上看到的注解”value=“该参数没什么意义,在UI界面上也看到,所以不需要配置”示例:@Api(tags=“APP用户注册Controller”)@ApiOperation:用在请求的方法上,说明方法的用途、作用value=“说明方法的用途、作用”notes=“方法的备注说明”示例:@ApiOpe...

2019-04-19 10:56:09 471

原创 Intellij IDEA 自定义方法注释/方法模板

1 . 打开Live Templates设置面板2 . 点击最右边的加号按钮 , 首先添加Template Group模板组 , 在弹出的窗口中为自己的模板组命名(建议命名清晰明确 , 与系统自带的组区分开来)3 . 选中该Group , 点击最右边的加号按钮继续添加Live Template4 . 设置应用场景为JAVA5 . 点击模板编辑区右侧的Edit variables ...

2019-04-18 10:54:20 625

转载 idea在Git中的使用

工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:假设小组中有两个人,组长小张,组员小袁场景一:小张创建项目并提交到远程Git仓库场景二:小袁从远程Git仓库上获取项目源码场景三:小袁修改了部分源码,提交到远程仓库场景四:小张从远程仓库获取小袁的提交场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发场景六:小袁把分支提交到远程Git仓库场景七:小张获取小袁提...

2019-04-15 12:09:35 395

原创 Spring --@Primary注解

1.问题当一个接口有2个不同实现时,使用@Autowired注解时会报org.springframework.beans.factory.NoUniqueBeanDefinitionException异常信息2.方案1-@Qualifier使用Qualifier注解,选择一个对象的名称,通常比较常用3.方案2-@PrimaryPrimary可以理解为默认优先选择,同时不可以同时设置多个,...

2019-03-13 11:51:08 2196

转载 MySQL中MAX函数与Group By一起使用的注意事项

mysql&gt; select * from test; +----+-------+------+-------+ | id | name | age | class | +----+-------+------+-------+ | 1 | qiu | 22 | 1 | | 2 | liu | 42 | 1 | | 4 |...

2019-02-27 16:10:31 885

转载 npm安装教程

一、使用之前,我们先来掌握3个东西是用来干什么的。npm: Nodejs下的包管理器。webpack: 它主要的用途是通过CommonJS的语法把所有浏览器端需要发布的静态资源做相应的准备,比如资源的合并和打包。vue-cli: 用户生成Vue工程模板。(帮你快速开始一个vue的项目,也就是给你一套vue的结构,包含基础的依赖库,只需要 npm install就可以安装)开始:如图,下...

2019-01-15 14:57:55 2654

转载 TCP三次握手和四次挥手过程

1.三次握手1.1三次握手的详述首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。最初两端的TCP进程都处于CLOSED关闭状态,A主动打开连接,而B被动打开连接。(A、B关闭状态CLOSED——B收听状态LISTEN——A同步已发送状态SY...

2019-01-09 15:31:20 430

转载 HTTP和HTTPS的区别,SSL的握手过程

  超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。  为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的...

2019-01-09 15:19:20 704

原创 Netty(2)--handler的执行顺序

1. 简介Handler在netty中,无疑占据着非常重要的地位。Handler与Servlet中的filter很像,通过Handler可以完成通讯报文的解码编码、拦截指定的报文、统一对日志错误进行处理、统一对请求进行计数、控制Handler执行与否。一句话,没有它做不到的只有你想不到的。Netty中的所有handler都实现自ChannelHandler接口。按照输出输出来分,分为Chann...

2019-01-06 19:59:17 639

原创 Netty(1)--服务器端详解

本文仅适用与Netty4.0.32版本,其他版本是否适用表示并不清楚…Netty服务器启动流程:创建线程池创建处理连接的线程池:bossGroup创建处理所有事件的线程池:workerGroup EventLoopGroup bossGroup = new NioEventLoopGroup(); EventLoopGroup workerGroup = new Nio...

2019-01-06 14:04:38 420

转载 Spring注解 @Component和@Configuration作为配置类的差别

随着spingboot的大火,注解式配置受到了大家的热烈欢迎,而@Component和@Configuration都可以作为配置类,之前一直都没觉得这两个用起来有什么差别,可能有时程序跑的和自己想的有所区别也没注意到。直到看到这篇文章:https://my.oschina.net/guangshan/blog/1807721 。我意识到@Component和@Configuration是有区别的...

2019-01-05 22:17:07 777

原创 SpringBoot集成redis的JedisCluster和RedisTemplate 实现redis的消息队列消费者-生产者模式,订阅者发布者模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式。利用redis这两种场景的消息队列都能够实现。定义:生产者消费者模式 :生产者生产消息放到队列里,多个消费者同时监听队列,谁先抢到消息谁就会从队列中取走消息;即对于每个消息只能被最多一个消费者拥有。发布者订阅者模式:发布者生产消息放到队列里,多个监听队列的消费者都会收到同一份消息;即正常情况下每个消费者收到的消息...

2019-01-03 14:59:10 11326

转载 Spring Controller 控制层讲解 @Controller&@RestController @RequestMapping@PathVaribale & @RequestParam

@Controller&amp;amp;amp;@RestController项目前后台交互的话 无非两种方式;一种普通整体页面提交,比如form提交;一种局部刷新,或者叫做异步刷新,ajax提交;@Controller处理http请求, 就是整体页面刷新提交的处理注解@RestControllerSpring4之后新加的注解,原来返回json需要@ResponseBody配合@...

2018-12-29 16:37:16 547

原创 shiro + springBoot 整合 JWT

JWTUtil我们利用 JWT 的工具类来生成我们的 token,这个工具类主要有生成 token 和 校验 token 两个方法生成 token 时,指定 token 过期时间 EXPIRE_TIME和签名密钥 SECRET,然后将 date 和 username 写入 token 中,并使用带有密钥的 HS256 签名算法进行签名Date date = new Date(System.c...

2018-12-29 14:48:26 609

原创 shiro 整合 springBoot 实现基本的角色权限控制

依赖包&lt;dependency&gt; &lt;groupId&gt;org.apache.shiro&lt;/groupId&gt; &lt;artifactId&gt;shiro-spring&lt;/artifactId&gt; &lt;version&gt;1.3.2&lt;/version&gt;&lt;/dependency&gt;数据库表CREAT

2018-12-29 14:46:28 558

原创 Spring注解@ControllerAdvice

@ControllerAdvice,是Spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强。让我们先看看@ControllerAdvice的实现:package org.springframework.web.bind.annotation; @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Docu...

2018-12-29 10:57:28 422

原创 Spring 注解@ExceptionHandler和@ResponseStatus

无论是普通的WEB项目,还是用SpringMVC实现的restful服务,都曾经历过下面两个问题:1.1 Controller中处理异常响应报文@PostMapping(path = "/selectByAcctcode")public MerAccountQueryResponse selectByAcctcode(@Valid @RequestBody MerAccountQueryRe...

2018-12-29 10:48:04 1278

mongodb-linux-x86_64-3.4.21-rc0.tgz

mongodb Centos7安装亲测可用,完美安装,最新版本

2019-06-14

Navicat Premium 12.0.24.rar

Navicat Premium 12.0.24安装与激活,内含全部安装包和文件,本人亲测可用。

2019-05-27

eclipse最新版下载-Oxygen.2 Release(4.72)

eclipse最新版下载-Oxygen.2 Release(4.72) 解压版,解压后即可使用 eclipse最新版 本人亲自解压安装 可以用

2018-08-12

nginx--centos7安装文档以及安装文件(包含日志功能)

nginx--centos7安装文档以及安装文件(包含日志功能) 本人亲测可安装,完美解决中文乱码问题

2018-05-19

nginx--centos6.5(日志功能)安装文档以及安装文件

nginx--centos6.5(日志功能)安装文档以及安装文件,解决日志记录中文乱码问题

2018-05-19

JAXB工具类 xml转为java对象 java对象转为xml

JAXB工具类 xml转为java对象 java对象转为xml ,本人亲测,可以使用!!!

2018-05-17

阿里云公网redis集群搭建以及java访问redis集群

阿里云公网redis集群搭建以及访问,本人亲测,可以成功搭建,java访问公网redis集群,

2018-04-20

RPM打包全过程SPEC详解

描述了将java项目根据SPEC文件配置打包成RPM包,安装,卸载全过程

2018-02-23

Spring Boot 整合mybatis redis netty 缓存 logback

Spring Boot 整合mybatis redis netty 缓存 logback 项目 maven

2017-12-01

java File文件处理工具类

从输入流中读取string,新建一个文件并写入内容,复制一个目录及其子目录、文件到另外一个目录 ,递归删除目录下的所有文件及子目录下所有文件,读取文本文件内容,以行的形式读取....

2017-12-01

java 大数据导入工具类

java 大数据导入工具类 jdbc 大数据导入数据库工具类 java

2017-12-01

FTP JAVA工具类(连接FTP,上传文件到FTP,删除FTP文件,下载FTP文件,检索FTP文件)

连接FTP,上传文件到FTP,删除FTP文件,下载FTP文件,检索FTP文件

2017-12-01

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

TA关注的人

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