Spring Boot
好好生活_
这个作者很懒,什么都没留下…
展开
-
【RedisTemplate】Set数据类型的常用操作
引言上篇博客总结了使用RedisTemplate操作ZSet数据类型的一些常用方法,本篇博客继续总结Set数据类型。Set数据结构Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。常用方法1. 增加集合元素/** * set中增加元素,支持一次增加多个元素,逗号分隔即可,结果返回添加的个数 * * @param key * @param val原创 2020-10-15 11:28:37 · 13671 阅读 · 1 评论 -
【RedisTemplate】ZSet数据类型的常用操作
引言最近需要使用RedisTemplate操作Redis中的ZSet数据类型,本篇博客将记录一些常用方法,代码基于spring-boot-starter-data-redis 2.1.9.RELEASE版本。ZSet数据结构数据结构类似于Set结构,只是ZSet结构中,在set基础上加入了一个score字段,通过利用score进行相关的排序。每个元素都会有一个分值(score),然后所有元素按照分值的大小进行排列,相当于是一个进行了排序的链表。常用操作下面通过增加人员(包含编号和年龄属性)集合,原创 2020-10-13 16:18:43 · 13657 阅读 · 4 评论 -
【Elasticsearch6.8】基于SpringBoot构建ES搜索服务
引言通过之前的资料调研,在上篇文章中我们已经整合好Springboot+Elasticsearch6.5的demo。为了满足系统需求,我们会将所有数据入口接入Elasticsearch,然后通过ES去查询数据。所以,我们决定单独出一个搜索服务,接入ES,封装一些操作索引的基本方法,其他服务需要使用,直接引用该服务即可。环境• SpringBoot:2.1.9.RELEASE• Elasticsearch:6.8.6工程结构 核心代码有了上面的工程结构之后,就可以开始写代码了。下面展示一些核.原创 2020-09-12 13:06:00 · 1675 阅读 · 2 评论 -
【Spring Boot】IDEA + Maven + Spring Boot + Redis
【引言】在分布式ID生成方案的系列博客中,总结到如何基于Redis实现,所以本篇博客先分享一下如何基于Spring Boot快速集成Redis项目搭建。【Redis安装】本地没有安装过Redis的话,需要先下载进行安装,Redis下载地址我们可以直接下载zip压缩包到本地,解压后,直接启动redis-server.exe,看到如下界面,则启动成功。【项目搭建】1. 添加依赖在ID...原创 2020-04-22 10:25:37 · 428 阅读 · 0 评论 -
【Spring Boot】IDEA + Maven + Spring Boot + MybatisPlus + EasyExcel
【引言】之前项目中做导入导出功能,都是集成Apache开源框架 poi,也许我们还遇到过线上数据量过大,导致OOM。 所以,本篇博客使用的是阿里的框架EasyExcel。【概述】Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如0...原创 2020-03-24 18:52:03 · 1453 阅读 · 1 评论 -
【Spring Boot】条件化自动装配
【引言】在前面的博客中,了解了Spring Boot的自动装配是如何实现的,这只是一个基础,对于自动装配,更专业的使用是可以做到条件化自动装配。【条件注解】Spring Boot中,提供了以下条件化注解:条件化注解配置生效条件@ConditionalOnClassClasspath里有指定的类@ConditionalOnMissingClassClasspat...原创 2019-10-25 16:51:49 · 495 阅读 · 0 评论 -
【Spring Boot】自定义starter
【引言】 Spring Boot应用中,Starter给我们开发带来了很大的便利,通常情况下,我们增加一个依赖就可以实现与第三方的集成,比如mybatis的集成,只需增加依赖:<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-...原创 2019-10-24 20:10:33 · 262 阅读 · 0 评论 -
【Spring Boot】自动装配
【引言】Spring原创 2019-10-23 19:35:28 · 207 阅读 · 0 评论 -
【Spring Boot】启动流程
【引言】运行Spring Boot方式有三种:1)打包用命令或者放到容器中运行;2)打包用命令或者放到容器中运行;3)直接执行 main 方法运行。本篇博客,从main方法出发,梳理下启动过程。【启动流程】启动类,方法很简单,main方法中仅有一个run方法: public static void main(String[] args) { SpringAppli...原创 2019-10-22 19:44:34 · 212 阅读 · 0 评论 -
【Spring Boot】一文带你掌握面试题
【引言】最近一段时间,公司招人,面试了不少人,主要是需要做过Spring Boot项目,所以,利用这个机会,结合一些面试题,做了一些整理。【问题整理】一. 什么是Spring Boot?SpringBoot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。二. Spr...原创 2019-09-29 17:11:47 · 1991 阅读 · 1 评论 -
【Spring Boot】IDEA + Maven + Spring Boot + RocketMQ 4.5.1
【引言】在上篇博客中,完成了RocketMQ服务端的搭建,并且完成了控制台的部署工作,以便在与客户端集成过程中查询及处理问题。本篇博客,将使用SpringBoot与RocketMQ集成,实现消息的生产与消费。【版本说明】Java Version:1.8Spring Boot Version:2.1.7.RELEASERocketMQ Client Version:4.5.1【项目结...原创 2019-09-08 23:38:54 · 1596 阅读 · 0 评论 -
【HTTPS】Spring Boot客户端与服务端单向认证和双向认证实例
【引言】在上篇博客中,了解了关于SSL的很多理论,本篇博客主要是总结下基于Spring Boot实现HTTPS方式请求下客户端与服务端进行双向认证的实例搭建。有了上一篇博客的认识,对于SSL的流程已经很清楚了。使用HTTPS,通常情况下,是客户端需要校验服务端,也就是一个单向认证的过程。同时,服务端也可以校验客户端,从而达到客户端与服务端双向认证的目的。【证书生成】在项目搭建前,我们先使用...原创 2019-08-17 18:23:56 · 8747 阅读 · 10 评论 -
【Spring Boot】IDEA + Maven + Spring Boot + Dubbo + Mybatis Plus
【引言】 Spring Cloud和Dubbo是当前微服务架构中主流技术选型方案。Spring Cloud为我们的微服务架构提供了整套的技术体系方案,所以被称作为“全家桶”。 而关于dubbo的发展,曾经看到过停止维护的相关消息,使得很多公司转向Spring Cloud,而2017年9月,dubbo源码...原创 2019-07-26 23:34:51 · 2199 阅读 · 3 评论 -
【Spring Boot】Mybatis Plus 3.1.X 自动生成代码配置
【引言】 在前面的spring boot与mybatis plus 集成的相关博客中,用的是2.x的版本,而mybatis plus已经发布3.1.x版本,所以,参照着官方文档,将集成spring boot应用,实践下代码自动生成。【核心源码】 AutoGenerator 是 MyBatis-Plus...原创 2019-06-03 23:15:57 · 4990 阅读 · 12 评论 -
【Spring Boot】知道Mybatis,知道Mybatis-Plus么?
【引言】Mybatis相信大家都是知道的,与Hibernate相比,他的小巧、方便、高效、简单、直接等特点,让我们从重量级的SSH框架逐步转为轻量级的SSM框架,而现在不仅仅是Mybatis被广泛使用,他的增强版Mybatis-Plus也是越来越多的人使用。【简介】Mybatis-Plus(简称MP)是一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发、提高效...原创 2019-03-17 20:23:29 · 1650 阅读 · 3 评论 -
【Spring boot】IDEA + Maven + Spring Boot + Mybatis + Druid + PageHelper
在第一篇Spring Boot 框架搭建博客中,底层用的是jpa,这篇博客底层选择的mybatis,之前搭建过Spring Boot + Mybatis的框架,用的是Spring Boot 1.5.9.RELEASE 版本,也没有配置数据连接池,这次选择的Spring Boot 2.0.1.RELEASE 版本,也加上了Druid数据库连接池和Pag...原创 2018-04-30 17:14:41 · 1091 阅读 · 0 评论 -
【Spring boot】IDEA + Maven + Spring Boot + Mybatis 多数据源配置
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;公司这周开始安排了某一项目的统计需求,考虑到统计需求是很多客户都提到过的共同需求,我们决定将统计单独拆分出来一个微服务,我们需要统计的数据属于不同项目,数据表和统计结果都是一样的,所以我们使用spring boot框架支持多数据源,从而满足相同的业务,只需要一次实现,就可以满足各个项目的统计需求。&amp;nbsp;&amp;nb原创 2018-05-13 17:39:38 · 2540 阅读 · 2 评论 -
【Spring Boot】IDEA + Maven + Spring Boot + JPA
公司项目马上要进入重构阶段了,基本上确定了用spring cloud,很久没有接触微服务架构的学习和编码,感觉都很生疏了。所以,利用假期时间,先熟悉起来,以便后面重构项目能顺利些。本篇博客内容是记录下自己的搭建过程以及其中遇到的一些问题。 使用IDEA工具,搭建一个spring boot 应用也...原创 2018-04-29 16:57:16 · 2834 阅读 · 0 评论 -
Spring Boot + Spring Security + JWT 集成Swagger文档问题
现在的新项目框架都选择用Spring Boot,之前的旧项目,开发完对外的接口还需要自己写接口文档,在新项目中集成Swagger文档,这样就省去了我们写文档的时间,前端调用还可以利用它进行接口测试。 简单的一个Spring Boot框架,很简单地几步就可以将Swagger文档配置集成好,如下: 一 . 添加Swagger依赖 &lt;dependency&gt; &lt;gr...原创 2018-05-26 15:22:13 · 12447 阅读 · 3 评论 -
【Spring Boot】IDEA + Maven + Spring boot + OAuth2.0 认证授权
【项目需求】需要对外提供一套关于订单操作的接口,因为旧系统框架,并不支持Restful风格,考虑到对外提供的一套接口肯定不能像内部使用一样,让人一看就看出了不规范,所以,独立出来了一个专门对外的api接口服务。既然对外,当然需要一定的限制,从而保证接口的安全性。从这方面考虑,这一服务的框架就决定使用Spring boot 集成OAuth2.0.【框架搭建】maven依赖 ...原创 2018-09-04 18:15:13 · 2992 阅读 · 0 评论 -
【Spring Boot】RestTemplate使用总结
【问题背景】最近一直在处理交接项目的遗留问题,在确定了商品同步方案之后,与商品服务对接,遇到了一个问题,请求Read time out。【原调用方式】和我交接项目的人,采用的是和旧系统一样的调用方式,写了个HttpClient工具类,之前和我对接接口就给我发了请求超时的错误信息,现在看来这个问题一直都没有处理。【原方式处理方案】其实这个问题很简单,既然是请求读取时间超时,那我们在发起请...原创 2018-11-20 11:57:34 · 7500 阅读 · 6 评论 -
【Spring Boot】整合Mybatis实现不同Mapper映射不同数据源
【问题背景】在前两周写过一篇博客,关于项目中商品同步的优化方案记录,最后一个环节,需要将商品同步给商城,让php商城提供了一个批量同步商品的接口,但遇到的问题是每次调用接口,处理的商品到2万条就会出错,很奇怪,两种语言,但用的测试环境mysql是一个,我们可以处理十万条商品数据,他们却处理不了。【处理方案】php处理不了十万商品数据,也不能影响整个系统运行,所以只能是我这边做处理,在商品服务...原创 2018-11-28 03:52:14 · 11115 阅读 · 3 评论 -
【Spring Boot】@JsonField注解格式化日期数据失效
【问题背景】昨天在联调日志列表,前端显示的日期都是时间戳格式,因为后端数据库定义的datetime类型,实体定义的date类型,以json格式返回给前端后,日期都格式化为long类型的时间戳。一看这个问题,就想到上一篇博客总结的@JsonField注解,直接利用format格式化一下,但实际情况是并没有转换。【问题截图】使用@JsonField字段,给前端返回的结果,还是时间戳格式。【解...原创 2018-12-25 09:49:55 · 19707 阅读 · 6 评论 -
【Spring Boot】线上问题总结
【引言】2019年刚开始,依旧很长很累,经历了两周每天都在上线的节奏,一周在北京,一周在杭州。现在回家了,终于有时间把前一周新项目上线遇到的问题总结一下。【问题】在项目刚上线的第二天,客户那边一部分人继续在线下开单,订单通过此项目同步到我们平台上,一部分人开始在我们平台试用开单,所以用的人多了,项目的问题也就暴露出来的。1. Hikari Unable to acquire JDBC Co...原创 2019-01-28 14:47:32 · 2160 阅读 · 1 评论 -
【Spring Boot】Mybatis Plus 2.X 条件查询
【引言】原创 2019-06-01 11:07:04 · 3148 阅读 · 1 评论 -
【Spring Boot】Mybatis Plus 2.X 自动生成代码配置
【引言】在前面的博客《知道Mybatis,知道Mybatis-Plus么?》一文中,对Mybatis-Plus做了一个简单的认识及demo示例,Mybatis的增强版,确实很强大,更加简单高效。其中有提到一个强大的功能之一是内置代码生成器,也是本篇博客的主要内容,下面主要总结下demo搭建的过程。【demo】1. 新建项目spring-boot-mybatis-plus-generator...原创 2019-04-19 09:37:32 · 2931 阅读 · 1 评论 -
【Spring Boot】IDEA + Maven + Spring Boot + JPA + Spring Security + JWT
在上篇博客中,我们搭建好了一个用户服务框架,本篇博客紧接着用户的业务场景的使用,在此基础上集成spring security 和 jwt 实现用户的登录,注册以及权限控制。 进行框架整合之前,我们先简单了解一下Spring Security和JWT。Spring Security :  ...原创 2018-04-30 11:56:33 · 2255 阅读 · 1 评论