自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 java8 lambda表达式去重

java8 lambda表达式去重 在使用java8的stream流对List集合操作时,遇到了去重问题。原有的distinct()方法需要重写对象的equals()和hashCode()方法,比较麻烦,而且写在实体里比较难看。于是查阅资料,写了如下代码: List<User> use...

2019-09-20 13:46:34

阅读数 30

评论数 0

原创 springboot2.0.4+rabbitMQ配置

最近的业务需要用到rabbitMQ,这里记录一下配置。本地使用Docker自己启动的rabbitMQ测试,线上使用的阿里的消息队列 for AMQP,完全兼容 RabbitMQ 开源生态,不用修改代码。 1.导入依赖包 <dependency> <groupId>...

2019-09-19 12:01:00

阅读数 27

评论数 0

原创 关于http调用第三方API,如果第三方API异常,http的耗时问题

最近项目出现了一个bug,同事在他的项目中使用http调用了我在其他项目中的接口,我的接口抛出异常,导致同事的项目出现了问题。赶快解决自己接口中的bug,改完后,就能正常使用了。但是感觉很不妥,我们一般尽量避免使用http或者rpc调用其他项目的接口的。在无法避免的情况下,一定要做好调用失败或者调...

2019-09-12 12:15:19

阅读数 72

评论数 0

原创 使用RestTemplate进行http调用格式转换问题

之前http调用都是自己封装的HttpClients,比较麻烦。最近发现有新的API:RestTemplate可以直接调用接口,非常方便,省得自己封装请求了。 开始使用: String url = targetInfoUrl +"?userId={userId}"; Ma...

2019-09-09 21:09:44

阅读数 51

评论数 0

原创 数据库查找数据的返回值问题

码代码的过程中,经常会遇到空指针的问题。今天重构代码,发现对一个数据库查询操作的List类型的返回值进行操作时,从来没有出现空指针异常,而我知道这个查询的数据很大部分情况下在数据库中并没有记录。既然没有数据那List<Object>类型的返回值不是null就是size = 0的空Lis...

2019-08-31 12:51:38

阅读数 55

评论数 0

原创 @AllArgsConstructor与@JsonFormat一起使用时遇到的问题及对序列化的理解

问题描述: 有以下实体类: @Data @ToString @AllArgsConstructor public class UpdateTargetInfoBean { @JsonFormat(pattern = "yyyy-MM-dd",timezone =...

2019-08-08 18:02:46

阅读数 253

评论数 0

原创 代码实例理解线程池的配置属性

1.合理利用线程池能够带来三个好处: 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:可有效控制最大并发线程数,提高系统资源利用率,同时可以避免过多的资源竞争,避免阻塞。 第三:提供定时执行、定期执行、单线程、并发数等控制。 2.使用方式之一: 3.参...

2019-07-24 11:07:49

阅读数 30

评论数 0

原创 SpringBoot异步注解@Async解析

在写一个绑定设备的接口,需要立即响应。但是有一个增加成长值的需求需要在这个绑定设备的接口中实现,该需求需要http调用其他项目的接口,比较耗时,同时这个需求不需要立即返回。因此,想到使用异步的方式实现该方法。于是开始研究@Async的使用,一开始就进了一个坑。 实现异步: 在启动类上添加@En...

2019-07-23 18:57:04

阅读数 179

评论数 0

原创 getTime()获取时间戳方法与时区有关

1.问题来源 测试的同事反馈说APP海外版本的时间与实际时间少了8个小时。于是开始排查问题,最后发现问题出在getTime()函数上。 数据库里存储的数据是Date类型,我将Date类型通过getTime()方法转换为时间戳返回给APP显示。服务运行在Docker上,通过Rancher部署。在...

2019-07-03 15:50:15

阅读数 1274

评论数 0

原创 使用Postman的Pre-request Script自动生成通过网关需要校验的签名

后端代码一般都在网关里设置了签名算法,访问接口时,需要传签名参数通过网关才能访问这些接口。在使用postman进行接口测试时,可以使用Pre-request Script编写js代码完成签名算法,进而完成接口的访问。 下面举个算法签名的例子,请求是GET方式,需要四个参数:timestamp、s...

2019-06-19 15:42:09

阅读数 353

评论数 0

原创 @Value注解为什么不能直接为静态变量赋值

问题描述: @Value("${oss.endpoint}") private static String endpoint; 说明:oss.endpoint为springboot配置文件application.properties中配置的常量。 在使用endpoint...

2019-03-28 10:42:21

阅读数 668

评论数 1

原创 记一次异常:Null value was assigned to a property of primitive type setter

异常: org.springframework.orm.jpa.JpaSystemException: Null value was assigned to a property 异常描述: 前端同事传递对象的json数据来调用接口时,报异常org.springframework.orm.j...

2019-03-28 10:33:18

阅读数 348

评论数 0

原创 解决使用springboot+ jpa + @query原生sql查询,无法动态插入表名的问题

问题描述: 在使用springboot2.0 + jpa+ @query原生sql查询时,无法动态插入表名 public interface BalanceTargetInfoRepositoryWithNativeQuery extends JpaRepository<Balance...

2019-03-13 16:14:00

阅读数 1813

评论数 0

原创 win10写Python脚本删除数据库数据

1.安装python 地址:python安装 2.安装PyMySQL 在dos下进入python的Scripts目录: 执行:pip install PyMySQL 3.编写py文件 我的内容如下: #!/usr/bin/env python3 # -*- coding: ut...

2019-03-12 15:00:15

阅读数 66

评论数 0

原创 SpringBoot2.0.4+Jpa+ShardingSphere3.0.0.M2进行数据库分表

ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语...

2019-03-08 14:12:39

阅读数 672

评论数 0

原创 解决异常:com.mongodb.MongoSocketReadException: Prematurely reached end of stream

异常描述: 项目使用阿里云的mongo服务一段时间后出现: 原因 mongo没有配置空闲连接时间,而spring boot 默认的空闲连接时间为0。当连接闲置一段时间,由于防火墙或者负载均衡的原因,导致连接被关闭,而客户端并不知道,当客户端继续使用这个关闭的连接进行读写时就会出错。 解...

2019-02-21 14:40:50

阅读数 2341

评论数 0

原创 SpringBoot中配置RabbitMQ

RabbitMQ介绍与原理见:消息队列之 RabbitMQ RabbitMQ安装见:RabbitMQ安装 依赖: &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/g...

2019-01-28 15:15:40

阅读数 261

评论数 0

原创 根据《高性能MySQL》整理一些数据库优化建议

根据《高性能MySQL》一书,整理一些数据库优化建议。 1.为字段选择合适的数据类型 概括来说,尽可能保持任何东西小而简单总是好的。MySQL喜欢简单,需要使用数据库的人 应该也同样会喜欢简单的原则. 尽量避免过度设计,例如会导致极其复杂查询的schema设计,或者有很多列的表设计(很多的意...

2019-01-16 13:22:49

阅读数 247

评论数 0

原创 在MySQL-5.7.23下验证一些sql优化建议的正确性

从网上看到一些sql查询优化的一些建议,由于使用的数据库版本不同等原因,一些建议可能描述不准确。毕竟网上的一些内容还是需要自己去验证一下的。因此作者对常见的一些sql优化建议进行了验证。 验证表: 其中id字段是主键,在mysql中默认创建主键索引。  会根据具体验证情况,在其他字段上创建...

2019-01-15 09:36:14

阅读数 107

评论数 0

原创 IDEA中tomcat控制台日志输出乱码

在安装tomcat9时,使用IDEA出现控制台tomcat日志乱码问题。 问题出现的原因: 一:IDEA 以 GBK编码运行,导致控制台输出是乱码。 二:tomcat原因 解决方法: IDEA原因: 进入 IDEA 安装目录 如 D:\Idea\IntelliJ IDEA 2018.1...

2019-01-07 16:51:32

阅读数 1436

评论数 0

原创 Spring Boot全局异常捕获处理

目标:通过ControllerAdvice和ExceptionHandler捕获异常和错误信息,向前端返回json格式的状态码及异常描述信息。 1.创建一个全局异常捕获处理类GlobalExceptionHandler package com.qiqi.exception; import c...

2019-01-04 17:16:31

阅读数 2229

评论数 1

原创 Spring Boot使用JpaRepository删除数据时的注意事项

问题: 在Spring Boot中使用JpaRepository的deleteById(ID id)方法删除数据时,首先要使用existsById(ID id)方法判断数据是否存在。如果存在,再删除。否则,删除一个id不存在的数据会抛出org.springframework.dao.EmptyR...

2019-01-02 15:59:24

阅读数 1584

评论数 0

原创 SpringBoot 使用logback分级别记录日志

SpringBoot 默认使用logback记录日志,相关的包为:spring-boot-starter-logging.jar被包含在start-web中。 在SpringBoot中使用logback,只需要引入  &lt;dependency&gt; ...

2019-01-02 14:59:55

阅读数 109

评论数 1

原创 Docker for Windows部署Spring Boot maven项目

1.pom.xml添加Docker依赖 &lt;properties&gt; &lt;docker.image.prefix&gt;ramer&lt;/docker.image.prefix&gt; &lt...

2018-12-28 14:32:10

阅读数 71

评论数 0

原创 改变Docker for Windows使用的虚拟硬盘地址以便节省C盘空间

在win10系统中使用Docker,一般是安装Docker for Windows,使用Hyper-V虚拟机。默认虚拟机的硬盘地址是C:\Users\Public\Documents\Hyper-V\Virtual hard disks\MobyLinuxVM.vhdx,用于存放MobyLinux...

2018-12-28 13:35:15

阅读数 696

评论数 0

原创 MongoDB导出工具mongoexport在复杂查询条件下的使用

1.mongoexport工具 mongoexport工具,即:mongoexport.exe 位于mongo/bin目录下: 2.使用  在cmd.exe中进入安装mongo的bin目录,比如我的:cd D:\mongoDB\mongoDB\bin 在此目录下就可以使用mongoexp...

2018-12-27 22:11:12

阅读数 1659

评论数 0

原创 Win10安装Docker for Windows及部分问题的解决方式

1.安装 我的系统为企业版的win10,只要不是家庭版win10均可以安装Docker for Windows Docker for Windows下载地址 进入地址后,点击docker for windows选择beta版本下载,大约129M。下载的文件如下: 直接双击安装即可。 ...

2018-12-26 17:18:12

阅读数 257

评论数 0

原创 Spring Boot2.0整合redis

本文,主要介绍在Spring Boot2.0及以版本上整合redis。 1.引入依赖 &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/...

2018-12-25 14:03:23

阅读数 179

评论数 0

原创 Spring MVC+Swagger2

本文主要介绍在Spring MVC上搭建Swagger,方便生成API文档及调试 第一步:在maven中引入依赖 &lt;!--swagger--&gt; &lt;dependency&gt; &lt;groupId&gt;io.spri...

2018-12-17 17:18:29

阅读数 41

评论数 0

原创 Spring声明式事务管理中的事务回滚

一:使用 本文在spring + spring mvc + mybatis中使用 第一步配置xml:注意xml最前面tx名称空间一定要配置 &lt;beans xmlns="http://www.springframework.org/schema/beans"...

2018-12-14 14:02:45

阅读数 149

评论数 0

原创 Spring事务之Junit单测事务回滚

在spring+spring mvc +mybatis中进行Junit单元测试时,事务的回滚情况。 一:存在事务传播的情况下的事务回滚 存在事务传播,即:在A类的方法中调用B类上的方法。本例是在UserServiceImpl类中的insertUser()方法调用UserServiceTestT...

2018-12-13 09:37:24

阅读数 185

评论数 0

转载 Spring AOP的实现原理

AOP概念介绍 所谓AOP,即Aspect orientied program,就是面向方面(切面)的编程。 关注点:   重复代码就叫做关注点 业务代码:核心业务的代码 切面: 关注点形成的类就叫切面(类)! 面向切面编程就是指对很多功能都有的重复的代码抽取,再在运行的时候往业务方法...

2018-12-05 13:47:27

阅读数 31

评论数 0

转载 Spring容器初始化过程

一、Spring 容器高层视图 Spring启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖关系,为上层应用提供准备就绪的运行环境。 二、内部工作机制 该图描述了Spring容器从...

2018-12-05 13:20:58

阅读数 58

评论数 0

原创 阿里dubbo-admin更新后的地址及readMe使用说明

dubbo-admin跑incubator-dubbo-ops里去了:新的dubbo-admin 更新后的dubbo-admin进行了前后端分离,后端是dubbo-admin-backend,是一个spring boot项目 下面是阿里dubbo-admin项目ReadMe文件的中文版内容,详...

2018-12-04 15:17:05

阅读数 99

评论数 0

原创 Shiro与Spring集合时的密码加密问题

本文给出Shiro用户认证时,对密码的三种处理方式:不加密、MD5加密、MD5加盐加密。 首先给出代码: shiro.xml配置如下: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &...

2018-11-30 10:41:27

阅读数 50

评论数 1

原创 解决Shiro与Spring MVC整合时浏览器加载不到js、css、图片等静态资源问题

最近,在弄一个登录系统,使用Spring MVC 整合Shiro进行认证及访问权限管理。遇到了浏览器加载不到静态资源及在JSP页面Ctrl+鼠标左键链接不到图片及CSS样式的问题。根据网上的介绍知道是Spring MVC拦截了静态资源,于是按照网上内容更改了配置。 主要有三种更改方式: 一、在...

2018-11-28 19:11:53

阅读数 466

评论数 3

原创 解决:log4j警告:WARN Please initialize the log4j system properly

问题描述: 出现这个警告的原因是没有配置log4j.properties文件或者该配置文件在项目目录中的位置不对。 对于非Maven项目,log4j.properties文件放在src根目录下。 但是对于Maven项目,,log4j.properties文件必须放在Resource文件下...

2018-11-28 08:39:20

阅读数 1957

评论数 1

原创 spring中redis连接池版单节点使用(xml配置及非xml配置)

1.依赖 &lt;!--引入reids--&gt; &lt;dependency&gt; &lt;groupId&gt;redis.clients&lt;/groupId&gt; &...

2018-11-20 14:29:32

阅读数 133

评论数 0

原创 redis集群实战(单台机器Windows环境下搭建3主3从redis集群)

本文主要展示在单台win10机器上搭建三主三从redis集群。 搭建过程 主要参考作者: 每天都在变得更好的阿飞  的两篇博客 《Redis集群主从复制(一主两从)搭建配置教程【Windows环境】》https://blog.csdn.net/u010648555/article/detai...

2018-11-16 13:49:59

阅读数 144

评论数 0

原创 mybaits中设置的返回值类型为boolean类型,当查询的结果大于1时返回True而不是false

在Mybatis项目中,遇到一个需要返回布尔值来确定某条记录是否存在的需求。由于查询的结果可能是0、1或者&gt;1,就想确认一下,当resultType为boolean类型时,Mybatis是怎么转换的。查询了一下博客,一些博客说:当记录数行数是1时返回true,行数为0时返回false...

2018-11-11 10:40:29

阅读数 1756

评论数 1

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