自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Thinkingcao的专栏

CSDN明星博主、博客专家—专注架构、Java、Spring、SpringBoot、SpringCloud、分布式、微服务、数据库、中间件、源码分析、JVM性能调优、K8S等领域

  • 博客(31)
  • 资源 (14)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Spring Boot2.x系列教程 | 文章汇总:专栏汇总篇(持续更新中.............)

Spring Boot使用注解控制Api接口幂等性之前后端分离架构设计:https://blog.csdn.net/Thinkingcao/article/details/103578562

2019-12-30 15:50:33 1835 2

原创 SpringBoot 系列教程(七十三): Spring Boot整合Zxing生成二维码

一、前言在web开发、H5等移动端开发时,比如要使用微信支付、网页登录等,需要用到二维码的场景很多,这里分享最近学习的一个基于Spring Boot生成二维码的例子,使用的二维码SDK是google的zxing`工具类;二、生成二维码工具包开发生产二维码功能,需要用到google的zing包,不要问为什么,在可以实现相同功能、相同效果的前提下,哪种在当下最流行就使用哪种,哈哈,Spring框...

2019-12-30 16:47:18 960 1

原创 SpringBoot 系列教程(八十七):Spring Boot全局统一异常拦截处理

一、前言在早几年项目开发过程中,对于异常处理太过于复杂和杂乱,项目代码中大量的try catch使用,通过try catch捕捉然后对异常处理,如果处理不了的则往上一层抛,由上一层接管异常的处理,其实不管是SpringBoot框架还是Spring+SpringMVC+Mybatis框架,都可以使用@ControllerAdvice和 @ExceptionHandler 对项目做一个全局的异常拦截...

2019-12-27 17:45:41 792

转载 Mysql高性能优化规范(一):设计规范

一、数据库命令规范1. 所有数据库对象名称必须使用小写字母并用下划线分割;2. 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来);3. 数据库对象的命名要能做到见名识意,并且最好不要超过32个字符;4. 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀;5. 所有存储相同数据的列名和列类型必...

2019-12-27 14:32:31 142

原创 SpringBoot 系列教程(八十八):Spring Boot配置使用RedisTemplate操作Redis

Spring Boot除了对对常用的关系型数据库提供支持以外,还对非关系型数据库进行了自动化配置。使用redis结合spring cache是一个非常棒的组合,cache使用方便,但还是使用JVM内存了缓存对象,redis是独立的缓存服务器,使用单纯的内存来做缓存,所以他们结合后可以很方便的进行缓存并且不影响JVM的内存性能;本节介绍SpringBoot引入redis,以及使用RedisTemplate来操作redis数据。

2019-12-27 13:22:32 736

原创 Shiro 放行Swagger

一、前言最近在研究Shiro,遇到一个棘手的问题:SpringBoot 集成Shiro后, Swagger接口得登陆才能访问,找了一下问题,记在这里。二、Shiro放行Swagger在 Shiro 的配置文件中找到拦截器,将Swagger接口的路径放行即可 //放行Swagger2页面,需要放行这些 filterChainDefinitionMap.put("/swagger-ui...

2019-12-27 10:45:59 848

原创 基于RedisTemplate的Redis简单增删改工具类

RedisUtils.java@Componentpublic class RedisUtils { @Resource private RedisTemplate<String, Object> redisTemplate; /** * 删除缓存 * @param key 可以传一个值 或多个 */ public...

2019-12-26 17:56:22 555

原创 SpringBoot 系列教程(八十六):Spring Boot使用AOP打印接口请求日志

一、前言AOP被称作面向切面编程,OOP面向对象编程,其实由于OOP的一些局限性,AOP是对OOP的一种补充,是两种编程模式,Spring AOP 是基于 AOP 编程模式的一个框架,它的使用有效减少了系统间的重复代码,达到了模块间的松耦合目的。使用AOP技术,可以将一些系统性相关的编程工作,独立提取出来,独立实现,然后通过切面切入进系统。从而避免了在业务逻辑的代码中混入很多的系统相关的逻辑——...

2019-12-26 17:49:18 512

原创 PostMan的轻量级版PostWoman

一、什么是PostWoman来自PostWoman的GitHub介绍,“PostWoman是API请求生成器-Postman的免费,快速,美观的替代方案,帮助您更快地创建请求,为您节省宝贵的开发时间”二、特点轻巧的❤️ 轻巧:采用简约的UI设计制作-简单的设计是最好的设计。即时的⚡️ 快速:实时发送请求和获取/复制响应-快速软件是最好的软件。PWA在您的设备上作为PWA...

2019-12-20 12:28:34 4033 9

原创 SpringBoot 系列教程(八十五):Spring Boot使用MD5加盐验签Api接口之前后端分离架构设计

一、前言在当下的Web开发,或者涉及到H5、APP、小程序等移动端开发时,务必需要后端提供Api接口供前端调用,无论H5程序、App还是小程序,都是如此,那么接口安全问题就被大家重视起来了,现在也越来越多人关注接口安全问题,尤其是一些架构师,传统的接口在传输的过程中,容易被抓包然后更改里面的参数值达到某些目的。传统的做法是用安全框架或者在代码里面做验证,但是有些系统是不需要登录的,随时可以调AP...

2019-12-18 11:23:48 4508 8

原创 Vue-Cli3版本项目构建打包部署

一、Vue cli 3 版本的和Vue cli 2 版本的区别。一、安装上区别:1.Vue cli 2 版本安装命令 :npm install -g vue-cli2.Vue cli 3 版本安装命令:npm install -g @vue/cli二、创建项目区别1.Vue cli 2 版本创建项目命令 :vue init webpack project2.Vue c...

2019-12-17 21:25:06 1203

转载 Long类型参数传到前端精度丢失的解决方案

一、前言由于公司数据库表的id是利用雪花算法生成的,所以实体类里面定义的数据类型为Long。但是这个数据传到前端时,发生了精度丢失的现象。本文记录了从java后端的角度如何解决这个精度丢失的问题,便于自己后续查阅。二、问题的描述前端通过ajax请求后端接口,返回json数据,然后将数据渲染到一个表格中。突然发现表格中id这一列出现了精度丢失的现象,这精度丢失是由前端引起的。三、解决方案...

2019-12-17 14:28:54 1387

原创 SpringBoot 系列教程(八十四):Spring Boot使用注解控制Api接口幂等性之前后端分离架构设计

一、前言在传统的web项目比如使用SSM和SSH框架开发的时候,rpc远程调用、MQ消费者幂等(保证唯一)、甚至常见的在网络产生延迟的情况下,都可能有重试机制,这时候会涉及到表单的重复提交问题,按照以前常用的做法是:第一种是在前端由前端工程师使用JS控制,这样其实是不专业的,如果更专业点,就是使用第二种``Token+Redis机制处理,这种做法在大型项目中较为流行,其简要原理是后端生成一个唯一...

2019-12-17 13:37:31 1599 3

转载 浅谈Spring中的事务回滚

使用Spring管理事务过程中,碰到过一些坑,因此也稍微总结一下,方便后续查阅。一、代码中事务控制的3种方式1. 编程式事务: 就是直接在代码里手动开启事务,手动提交,手动回滚。优点就是可以灵活控制,缺点就是太麻烦了,太多重复的代码了。2. 声明式事务: 就是使用SpringAop配置事务,这种方式大大的简化了编码。需要注意的是切入点表达式一定要写正确。3. 注解事务: 直接在Servic...

2019-12-17 11:53:29 183

原创 SpringBoot 系列教程(八十三):SpringBoot统一处理异常ErrorController

一、Springboot默认的错误处理SpringBoot源代码中有这样一个ErrorController,针对SpringMvc错误的Mapping进行处理,很多的时候我们写了一个Controller,在浏览器上访问的时候经常会出现如下情况:1. 404异常2. 500异常上述两种异常情况下出现的异常界面,是SpringBoot默认的,原因是前端发起请求给springmvc的时候,S...

2019-12-17 00:14:22 382

原创 SpringBoot 系列教程(八十二):Intellij IDEA实现SpringBoot项目启动多个端口

一、前言在使用SpringBoot特别是学习的时候,比如在学习SpringCloud搭建Eureka注册中心集群,这时候就需要使用到多个SpringBoot项目启动,这些项目其他都一样,就端口要求不同,这时候我们可以将同一个SpringBoot项目复制多份,端口设置不同即可,在IDEA和Eclipse中都可以实现。二、实现方法开发工具: Intellij IDEA工具版本: Int...

2019-12-16 22:09:51 496 1

原创 SpringBoot 系列教程(八十一):Spring Boot使用Token鉴权Api接口之前后端分离架构设计

一、前言最近两年项目框架一直使用的是由Spring+SpringMVC+Mybatis核心组件组合的SSM框架,SSM框架开发非常普遍了,除去那些传统老项目使用的SSH啥的外,大部分都是使用SSM了,SSM的框架其实很少有做到分离架构设计的,前后端交互服务端的用户状态大部分还是基于Session/Cookies机制来做的,在前几年我们Java工程师太苦逼了,既要写后端接口,前端页面、JS、CSS...

2019-12-16 18:01:03 2945

原创 SpringBoot 系列教程(八十):SpringBoot三种注解启动方式

SpringBoot程序启动方式有以下三种:1. 使用@EnableAutoConfiguration 注解启动(太局限了,只能扫描当前类)2. 使用@EnableAutoConfiguration+@ComponentScan扫包注解启动(太繁琐,要加扫包范围,加多个注解)3. 使用@SpringBootApplication注解启动(默认启动方式,最简单)

2019-12-12 23:07:36 453

原创 SpringBoot 系列教程(七十九):SpringBoot与SpringMVC的关系

一、什么是SpringBootSpringBoot是一个快速开发框架,能够帮助程序员在日常web开发中快速且及简单的方式整合第三方框架、其中SpringBoot内嵌入了常用的应用服务器(tomcat、jetty、undertow)、完全简化xml配置,采用全注解形式加载、初始化、读取、配置Bean等相关配置,其中设计者采用Maven依赖封装的原理快速整合第三方常用框架,也就是将需要使用的一个框架...

2019-12-12 21:19:35 304

原创 SpringBoot 系列教程(七十七):SpringBoot整合ehcache缓存

一、关于缓存SpringBoot可支持多种缓存,想更全面的了解可参考文档:SpringBoot缓存配置中文版,或者SpringBoot官网文档缓存篇在SpringBoot中常用的缓存有很多种,像Ehcache,Redis,GuavaCache,JCache等等,其中常用的就是EhCache和Redis了,Redis需要安装redis服务器,而EhCache不依赖任何第三方软件,只需引入jar即可。

2019-12-11 17:17:30 627

原创 SpringBoot 系列教程(七十六):SpringBoot整合定时任务Quartz

Quartz是一款功能强大的任务调度器框架,它完全由Java写成,并设计用于J2SE和J2EE应用中,它可以实现较为复杂的调度功能,如每月一号执行、每天凌晨执行、每周五执行等等这些复杂场景,还支持分布式调度。它提供了巨大的灵 活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,EJB作业预构 建,JavaMail及其它,支持cron-like表达式等等。

2019-12-11 12:40:26 703 5

原创 SpringBoot使用新版本mysql的jdbc驱动时报时区问题

一、问题描述在使用SpringBoot集成Jpa时,引入了mysql的链接驱动依赖,SpringBoot的默认版本是2.2.2.RELEASE,其mysql的版本默认是8.0.18,启动项目报错,项目配置如下:其application.yml配置如下:二、启动报错**启动项目报错,原因是时间区域时差问题: **java.sql.SQLException: The server ti...

2019-12-11 12:30:20 464

原创 SpringBoot 系列教程(七十五):SpringBoot整合定时任务Scheduled

一、前言在以前的项目开发中,Spring+SpringMVC+Mybatis用来开发的居多,在这种传统的SSM框架中如果要实现定时任务,一般有两种方式可选,第一种是使用Spring框架自带的定时任务处理框架 @Scheduled ,这种适合只有个别定时任务需求的场景,直接使用一个定时任务注解 @Scheduled 即可实现,比较容易上手;另外一种就是比较注明的定时任务调度框架Quzrtz了,需要...

2019-12-11 00:14:50 369

翻译 Spring+ Shiro 整合配置部分事务失效分析及解决方案

spring + shiro 配置中部分事务失效分析及解决方案Spring Boot整合shiro后导致@Cacheable、@Transactional等注解失效的问题

2019-12-09 16:10:51 194

原创 SpringBoot各版本全网最全学习资料收集导航(欢迎收藏)

注: 以下文档为本人日常学习查阅百度、谷歌搜集,多为国内知名博客作者翻译,总结到这里,方便学习和查阅,后续会持续更新!1.SpringBoot官方文档英文版文档版本是基于SpringBoot2.1.7.RELEASE,其他版本可自行更换SpringBoot地址:https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/refere...

2019-12-09 14:04:38 557

原创 SpringBoot 系列教程(七十四):SpringBoot加载外部xml配置文件

一、前言在过去几年,做Javaweb开发以Spring+Hibernate+Struts2(简称SSH)和Spring+Mybatis+SpringMVC(简称SSM)组合的框架为主流,最开始SSH框架占领市场,后来渐渐的轻量级的框架SSM出现了,由此SSM框架占领了Java开发的主流市场,除开一些老项目还是使用SSH之外,新项目基本都是使用SSM框架,直到2016年以SpringBoot+Sp...

2019-12-06 20:51:07 811 2

原创 Spring、SpringBoot全家桶技术栈知识点汇总(欢迎收藏)

1.下面是Sping技术栈所包含的技术框架图2.Spring Boot的一些知识点3.Spring Boot 推荐的基础 POM 文件名称 说明 spring-boot-starter 核心 POM,包含自动配置支持、日志库和对 YAML 配置文件的支持。 spring-boot-starter-amqp 通过 spring-rabbit ...

2019-12-06 14:43:50 903

原创 SpringBoot 系列教程(七十八):SpringBoot整合Memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

2019-12-06 14:31:41 138

原创 vue-cli3.0和vue-cli2.0项目构建、运行、编译命令区别

一、安装上区别:1.Vue cli 2 版本安装命令 :npm install -g vue-cli2.Vue cli 3 版本安装命令:npm install -g @vue/cli二、创建项目区别1.Vue cli 2 版本创建项目命令 :vue init webpack project2.Vue cli 3 版本创建项目命令 :v...

2019-12-06 09:52:11 2023

原创 SpringBoot系列教程(六十七):SpringBoot自定义Fastjson为JSON消息转换器

SpringBoot 系列教程(六十七):SpringBoot自定义Fastjson作为JSON消息转换器一、关于 fastJsonfastJson为alibaba旗下的一款开源项目,从其命名可以看出,其意图是专门用来做快速操作Json的序列化与反序列化的组件,fastJson是目前JSON解析工具里面解析速度最快的工具,效率超过了传统的 jackson ,如今做Java开发,在写后端接口提...

2019-12-05 16:48:16 712

原创 SpringBoot 系列教程(七十一):SpringBoot整合Shiro

后续补上,https://springboot.io/t/topic/1039 ,后面更新

2019-12-03 10:51:41 269

Mysql百万级以上查询优化总结

Mysql百万级以上查询优化总结,,对mysql表优化、索引优化

2018-09-29

视觉最好的编程字体Monaco

编程界最佳的编程字体,视觉效果超级好,也是Mac电脑默认的字体,用Monaco来编写程序代码,非常好

2014-01-22

springboot-activiti_model.zip

SpringBoot2.x整合Activiti6.0.0,以及SpringBoot2.x整合Activiti-Model5.22在线流程设计器模块,实现在线设计流程图和在线部署

2020-03-05

SSH整合完整步骤

SSH整合完整步骤

2016-08-29

SQL Server2012安装教程

通过自身安装SQLServer数据库的时候,记录安装步骤,以文档的形式记录下来,供大家下载使用。

2017-09-29

Red Hat Enterprise Linux 7.0 x86_64下安装Oracle 12c R1

2017-02-07

Red Hat Enterprise Linux 7.0 x86_64下安装Oracle 12c R1数据库

Red Hat Enterprise Linux 7.0 x86_64下安装Oracle 12c R1数据库

2016-09-02

springboot-weixin.zip

SpringBoot整合WxJava,接入开发者,实现微信公众号开发

2020-03-05

zookeeper-3.5.5(SpringBoot2.0以上对应Zk3.5及以上).zip

Zookeepe3.5.5版本的安装包以及可视化工具,安装包在本地以及编译好了,解压可以直接使用,查看Zookeeper信息的可视化界面工具也在其中,解压便可使用;

2020-02-24

RocketMQ-4.3.2启动服务包.zip

Windows下安装了RocketMQ之后,使用了批处理文件的方式配置了RocketMQ,方便启动,下载即可使用

2020-01-03

导入excel模板文件下载

导入excel模板,测试excel模板,

2019-11-06

lombok插件以及使用文档

lombok插件以及使用文档,安装eclipse插件lombok,可简化代码,日志。

2018-07-25

SpringCloud微服务组件说明.txt

SpringCloud微服务组件说明,列举了当下微服务框架中SpringCloud所使用的一全套组件

2019-09-30

SpringCloud概览_终稿.docx

Spring Cloud是一系列框架的有序集合: 利用Spring Boot的开发便利性,简化了分布式系统基础设施的开发。 Spring Cloud Eureka 是 Spring Cloud Netflix 的一部分,它基于 Netflix Eureka 做了二次封装,完成微服务架构中的服务治理功能。 Spring Cloud Netflix是对Netflix分布式服务开发框架的封装,包括服务发现和注册、负载均衡、断路器、REST客户端、请求路由等。 Spring Cloud Zookeeper对Zookeeper的封装,使之能配合其它 Spring Cloud项目使用,一般当作注册中心。 Spring Cloud Bus分布式消息队列,是对Kafka MQ的封装,实现可靠消息。 Spring Cloud Config将配置信息中央化保存。 Spring Cloud Security对Spring Security的封装,实现服务安全等。

2019-09-30

Thinkingcao的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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