
-----【16】SpringBoot
SpringBoot2.x学习总结
Thinkingcao
CSDN2019年度博客之星、博客专家,专注架构、Java、Spring、SpringBoot、SpringCloud、微服务、数据库、分布式、中间件、源码分析、JVM性能调优、K8S等领域
微信搜索公众号:「Thinking曹」,一个执着于架构的JAVA基层码农,每天带你学习新知识。
展开
-
SpringBoot项目启动只打印:Process finished with exit code -1解决
一、问题我的SpringBoot项目在启动的时候,控制台只打印了这么一句话,一直很迷惑,其实项目是启动了的,找了网上的解决方式,跟我的情况都不一样,什么Tomcat依赖包没加啊等等,其实我都加了,我的项目download自若依开源的ruoyi-cloud项目,先截个图:从面上看出我的工程下有个logback-spring.xml日志打印文件,项目的配置文件默认存放在nacos配置中心当中,n...原创 2020-04-16 17:59:39 · 3360 阅读 · 0 评论 -
SpringBoot 系列教程(九十三):Spring Boot整合Activiti6.0工作流
一、前言最近因项目需要,要开发一款工作流的OA系统,在这之前没有玩过工作流,对什么是工作流也不理解,所以在实现工作流OA系统的开发前,我就先了解了下什么是工作流?工作流能干什么?SpringBoot如何简单快速的整合工作流?,抱着对这3个问题的思考,一步一步进行,因此在这里记录下本次从0开始玩工作流的过程以及给大家参考如何快速使用SpringBoot整合、开发一款工作流系统,以及工作流的相关概念...原创 2020-01-09 15:07:47 · 5041 阅读 · 10 评论 -
SpringBoot 系列教程(九十二):Spring Boot全局设置Jackson时间处理
一、前言最近在做SpringBoot整合Memcached缓存时,遇到一个异常,前端传是一个JSON字符串,后端使用@RequestBody接收,写法是:@RequestBody OrderEntity orderEntity,其中OrderEntity 有个属性是Date类型的payDate,在前端JSON字符串中payDate转化为后端实体类中的属性时,报异常了,因为SpringBoot默认...原创 2020-01-08 17:58:48 · 2050 阅读 · 0 评论 -
SpringBoot 系列教程(九十五):SpringBoot启动时打印初始化Bean及自定义参数信息
`SpringBoot`应用程序在启动的时候,默认会加载初始化一些`Bean`,有时候为了查找某些项目中遇到的问题,搞清楚究竟是什么原因,需要打印一下`SpringBoot`在启动的时候,做了哪些操作,`Spring`容器初始化了哪些`Bean`,因此,通过`ConfigurableApplicationContext`类可以实现该需求,另外如果我们需要在配置文件`application.yml`中定义一些关于项目启动的自定义信息,想在项目启动的时候加载打印出来,也可以通过`ConfigurableAppl原创 2020-01-06 17:34:07 · 5156 阅读 · 0 评论 -
SpringBoot 系列教程(九十一):SpringBoot+Redis生成图片验证码并校验
一、前言在做web开发、后台网站登录的时候,很多情况下需要填写验证码才可以登录,验证码如果填写不正确,登录是无法成功的,常见的验证码有旋转正反面、数字加减、图片验证码数字填入等方式多种多样,本文就采取其中之一图片验证码这种类型,探索一下使用SpringBoot+Redis方式获取验证码并且校验验证码。二、设计思路后端Api接口生成数字和字母混搭的指定位数的验证码,位数由参数传递,存储在Re...原创 2020-01-03 15:33:03 · 1565 阅读 · 0 评论 -
Spring Boot2.x系列教程 | 文章汇总:专栏汇总篇(持续更新中.............)
Spring Boot使用注解控制Api接口幂等性之前后端分离架构设计:https://blog.csdn.net/Thinkingcao/article/details/103578562原创 2019-12-30 15:50:33 · 2755 阅读 · 2 评论 -
SpringBoot 系列教程(九十):Spring Boot配置使用MongoTemplate操作MongoDB
一、前言在上一篇SpringBoot 系列教程(七十):SpringBoot整合MongoDB 中我们详细的了解和学习到了MongoDB是什么、MongoDB能做什么、特点是啥、以及在SpringBoot中如何快速整合MongoDB数据库,并且进行了实战学习,如果有留意会发现在上一篇中是使用继承 MongoRepository方式操作MongoDB增删改查,因为MongoDB同 JPA 一样,...原创 2020-01-02 15:00:12 · 1906 阅读 · 0 评论 -
SpringBoot 系列教程(八十九):Spring Boot整合MongoDB增删改查
一、MongoDB是什么MongoDB 是一种面向文档的数据库管理系统,旨在为web应用提供可扩展的高性能数据存储解决方案。用 C++等语言撰写而成,以此来解决应用程序开发社区中的大量现实问题。其实MongoDB就是非关系型里面的数据库(NoSQL),是一种极似关系型(Mysql)数据库的一种NoSQL类型的数据库;二、MongoDB存储数据特点MongoDB 将数据存储为一个文档,经常存储...原创 2020-01-02 14:45:01 · 1225 阅读 · 0 评论 -
SpringBoot 系列教程(八十):SpringBoot三种注解启动方式
SpringBoot程序启动方式有以下三种:1. 使用@EnableAutoConfiguration 注解启动(太局限了,只能扫描当前类)2. 使用@EnableAutoConfiguration+@ComponentScan扫包注解启动(太繁琐,要加扫包范围,加多个注解)3. 使用@SpringBootApplication注解启动(默认启动方式,最简单)原创 2019-12-12 23:07:36 · 875 阅读 · 0 评论 -
SpringBoot 系列教程(七十九):SpringBoot与SpringMVC的关系
一、什么是SpringBootSpringBoot是一个快速开发框架,能够帮助程序员在日常web开发中快速且及简单的方式整合第三方框架、其中SpringBoot内嵌入了常用的应用服务器(tomcat、jetty、undertow)、完全简化xml配置,采用全注解形式加载、初始化、读取、配置Bean等相关配置,其中设计者采用Maven依赖封装的原理快速整合第三方常用框架,也就是将需要使用的一个框架...原创 2019-12-12 21:19:35 · 788 阅读 · 0 评论 -
SpringBoot 系列教程(七十八):Spring Boot整合Memcached缓存
一、前言最近花了点时间研究了一下Memcached缓存框架,首先先感叹一下,这个框架是真的轻量级,当我下载下来之后轻量级到让我大吃一惊,他的安装包只有300多KB,哇,真是太轻量级了;然后稍微研究了一下这个Memcached框架的简单用法,发现这个也是一个存储键/值 对的HashMap,下面先介绍一下关于Memcached的相关概念,然后带着大家学习一下基本的缓存增删改查用法;二、什么是Mem...原创 2020-01-07 18:24:44 · 926 阅读 · 0 评论 -
SpringBoot 系列教程(七十七):SpringBoot整合ehcache缓存
一、关于缓存SpringBoot可支持多种缓存,想更全面的了解可参考文档:SpringBoot缓存配置中文版,或者SpringBoot官网文档缓存篇在SpringBoot中常用的缓存有很多种,像Ehcache,Redis,GuavaCache,JCache等等,其中常用的就是EhCache和Redis了,Redis需要安装redis服务器,而EhCache不依赖任何第三方软件,只需引入jar即可。原创 2019-12-11 17:17:30 · 1030 阅读 · 0 评论 -
SpringBoot 系列教程(七十六):SpringBoot整合定时任务Quartz
Quartz是一款功能强大的任务调度器框架,它完全由Java写成,并设计用于J2SE和J2EE应用中,它可以实现较为复杂的调度功能,如每月一号执行、每天凌晨执行、每周五执行等等这些复杂场景,还支持分布式调度。它提供了巨大的灵 活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,EJB作业预构 建,JavaMail及其它,支持cron-like表达式等等。原创 2019-12-11 12:40:26 · 1019 阅读 · 6 评论 -
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 · 782 阅读 · 0 评论 -
SpringBoot 系列教程(七十五):SpringBoot整合定时任务Scheduled
一、前言在以前的项目开发中,Spring+SpringMVC+Mybatis用来开发的居多,在这种传统的SSM框架中如果要实现定时任务,一般有两种方式可选,第一种是使用Spring框架自带的定时任务处理框架 @Scheduled ,这种适合只有个别定时任务需求的场景,直接使用一个定时任务注解 @Scheduled 即可实现,比较容易上手;另外一种就是比较注明的定时任务调度框架Quzrtz了,需要...原创 2019-12-11 00:14:50 · 740 阅读 · 0 评论 -
Spring+ Shiro 整合配置部分事务失效分析及解决方案
spring + shiro 配置中部分事务失效分析及解决方案Spring Boot整合shiro后导致@Cacheable、@Transactional等注解失效的问题翻译 2019-12-09 16:10:51 · 517 阅读 · 0 评论 -
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 · 1005 阅读 · 0 评论 -
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 · 1611 阅读 · 4 评论 -
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 · 2302 阅读 · 0 评论 -
SpringBoot系列教程(六十七):SpringBoot自定义Fastjson为JSON消息转换器
SpringBoot 系列教程(六十七):SpringBoot自定义Fastjson作为JSON消息转换器一、关于 fastJsonfastJson为alibaba旗下的一款开源项目,从其命名可以看出,其意图是专门用来做快速操作Json的序列化与反序列化的组件,fastJson是目前JSON解析工具里面解析速度最快的工具,效率超过了传统的 jackson ,如今做Java开发,在写后端接口提...原创 2019-12-05 16:48:16 · 1184 阅读 · 0 评论 -
SpringBoot 系列教程(七十一):SpringBoot整合Shiro
后续补上,https://springboot.io/t/topic/1039 ,后面更新原创 2019-12-03 10:51:41 · 451 阅读 · 0 评论 -
SpringBoot 系列教程(六十九):SpringBoot2.x整合SSE服务端实时单向推送消息
一、需求背景最近需要做一个微信公众号H5端,微信打卡签到页面,在用户每天进入打卡页面时,其中其他用户打卡签到的数据需要以姓名头像的弹幕的形式在H5页面飘浮,当这个用户自己打卡签到完了之后,他的打卡数据需要以弹幕的形式展示,这是一个需要服务端实时推送消息给前端,后端一经查询到新数据,立刻通过接口返回给前端;这时候想到了WebSokcet,但是WebSocket过于笨重、复杂,我只需要这么一个效...原创 2019-11-29 18:47:13 · 5620 阅读 · 1 评论 -
SpringBoot 系列教程(六十八):SpringBoot针对不同环境的日志配置
后续补上。。。。。。。。原创 2019-11-29 18:43:11 · 469 阅读 · 0 评论 -
SpringBoot 系列教程(六十七):SpringBoot中使用Fastjson作为json消息的转换器
SpringBoot中使用Fastjson作为json消息的转换器后续补上。。。。。。。。。。。。原创 2019-11-29 18:39:45 · 835 阅读 · 0 评论 -
SpringBoot 系列教程(六十六):SpringBoot整合使用Spring-Session
一、前言在使用基于SpringBoot2.x开发Java后台微信管理系统的时候,由于使用了Nginx做服务的负载均衡,遇到了一个Session共享的问题,nginx做负载均衡分发请求到多个tomcat,我们分别叫tomcat(微信1)和tomcat(微信2),此时访问页面会把请求分发到不同的服务器,session是存在服务器端,如果首次访问被分发到tomcat(微信1)服务器,那么sessio...原创 2019-11-29 18:38:23 · 601 阅读 · 0 评论 -
SpringBoot 系列教程(六十):SpringBoot整合Swagger-Bootstrap-Ui
SpringBoot2.x整合swagger-bootstrap-ui一、前言swagger-bootstrap-ui 是基于swagger接口api实现的一套UI,因swagger原生ui是上下结构的,在浏览接口时不是很清晰,所以,swagger-bootstrap-ui是基于左右菜单风格的方式,适用与我们在开发后台系统左右结构这种风格类似,方便与接口浏览, 换Swagger 默认的UI实现...原创 2019-11-26 20:41:32 · 1060 阅读 · 0 评论 -
SpringBoot 系列教程(七十二):SpringBoot2.x整合Swagger2异常 For input string: "" at java.lang.NumberF
一、Swagger环境springfox-swagger-ui 2.9.2swagger 2 2.9.2springboot 2.1.3.RELEASE二、异常描述在访问swagger首页时三、异常信息2019-11-26 16:08:10.145 WARN 119264 --- [nio-8080-exec-9] i.s.m.p.AbstractSerial...原创 2019-11-26 16:34:27 · 1033 阅读 · 0 评论 -
Spring Boot 系列教程(五十九):Spring Boot打war包部署到外部Tomcat
一、前言传统的Web项目都是打成War包,然后部署到Tomcat容器,启动Tomcat,便可正常访问我们的服务,在使用SpringBoot框架开发Web项目后,SpringBoot内嵌了Tomcat容器,因此不用我们再单独的配置Tomcat容器,打包部署时也是打成jar包,如果我们项目因特殊需要打成war包,SpringBoot项目可以这么做;二、修改Maven的打包方式Maven默认...原创 2019-11-22 15:40:26 · 450 阅读 · 0 评论 -
SpringBoot 系列教程(五十八):SpringBoot整合Mybatis+BootStrap增删改查XML版
一. 前言在前面的SpringBoot学习过程中,我写过一篇通过SpringBoot整合Mybatis,做一个简单增删改查功能,Mybatis的的SQL语句使用注解形式:SpringBoot 系列教程(三十):SpringBoot整合Mybatis注解版增删改查,今天准备来出一个SpringBoot整合Mybatis增删改查XML版的,Mybatis的的SQL语句使用XML配置的形式,毕竟注解...原创 2019-11-20 13:53:23 · 3195 阅读 · 0 评论 -
SpringBoot 系列教程(五十七):SpringBoot多种方式跳转静态Html页面
源码:https://github.com/Thinkingcao/SpringBootLearning/tree/master/springboot-html前言在src/main/resources下面有两个文件夹,static和templates,springboot默认static中放静态页面和静态资源文件,而templates中放动态页面,动态页面访问的话需要Thymeleaf...原创 2019-11-13 21:06:55 · 2894 阅读 · 0 评论 -
SpringBoot 系列教程(五十六):SpringBoot配置SSL证书使用HTTPS访问
一、前言 日常项目开发过程中,测试环境和生产环境大多数使用HTTP访问服务,从浏览器上可以看到,左上角一般会显示不安全提示,好在为了安全层面着想,现在生产环境基本都会使用HTTPS来访问服务,这样安全性较高,传统的SSM架构,部署web服务都是托管与外部Tomcat容器,那么配置HTTPS访问也是需要从类似于阿里云、腾讯云等等购买SSL安全证书后放到Tomcat下面,然后配置访问,...原创 2019-11-08 11:18:26 · 1996 阅读 · 0 评论 -
SpringBoot 系列教程(五十五):SpringBoot整合MapStruct自动映射DTO
MapStruct: https://mapstruct.org前言MapStruct是一个Java注释处理器,在比较常见的项目开发过程中,前端提交往后端的数据,一部分是不需要存入数据库当中的;后端从数据库中取出的数据,一部分是不可以交给用户的;那么,Po面向的是DB,访问数据库交互,Vo面向的是客户端,封装返回数据到前端的对象;mapstruct就提供了Vo与Po自动转换的一种方式;...原创 2019-11-05 01:05:33 · 2467 阅读 · 0 评论 -
SpringBoot 系列教程(六十二):Spring Boot2.x 开发微信公众号后台
搭建关于使用SpringBoot2.x整合WxJava开发微信公众号后台请查看文章:SpringBoot 系列教程(六十五):Spring Boot整合WxJava开发微信公众号概述基于RuoYi开源框架,3.2版本,SpringBoot2.x版本的后台权限管理系统,只做增加,不做改变;在原有框架的基础上接入微信公众号开发,实现了一些基本功能、Api接口,做微信公众号开发的拿...原创 2019-10-30 17:40:30 · 1552 阅读 · 0 评论 -
SpringBoot 系列教程(六十三):SpringBoot使用pageHelper超过最大页数后还会返回数据
描述在使用SpringBoot框架+pageHelper开发Java项目的时候,有一个查询接口,数据库里面只有16条数据,pageNum=1&pageSize=10,查询到10条;pageNum=2&pageSize=10,查询到6条;pageNum=3&pageSize=10,查询到6条;pageNum=,4&pageSize=10,等等,查询出来...原创 2019-10-24 13:17:14 · 2474 阅读 · 1 评论 -
SpringBoot 系列教程(六十一):Spring Boot 修改静态资源不用重启项目,一个LiveReload(自动刷新)全搞定
一、前言在使用SpringBoot快速开发框架,进行Web项目开发编码的时候,每次对文件进行更改之后,都要手动重启项目,SpringBoot热部署估计大家都用过,只需要添加 spring-boot-devtools 依赖就可以轻松实现热部署二、热部署devtools1、热部署插件的原理:Spring Boot 中热部署最最关键的原理就是两个不同的 classloader:...原创 2019-10-18 10:31:21 · 1761 阅读 · 1 评论 -
Spring Boot中的yaml配置简介
文章转自江南一点雨:http://springboot.javaboy.org/2019/0416/spring-boot-yaml一、简介搞Spring Boot的小伙伴都知道,Spring Boot中的配置文件有两种格式,properties或者yaml,一般情况下,两者可以随意使用,选择自己顺手的就行了,那么这两者完全一样吗?肯定不是啦!本文就来和大伙重点介绍下yaml配置,最后再来...转载 2019-10-17 18:04:41 · 539 阅读 · 0 评论 -
一文读懂 Spring Boot 配置文件 application.properties !
文章转自江南一点雨:http://springboot.javaboy.org/2019/0530/application.properties一、是时候彻底搞清楚 Spring Boot 的配置文件 application.properties 了!在 Spring Boot 中,配置文件有两种不同的格式,一个是 properties ,另一个是 yaml 。虽然 propertie...转载 2019-10-17 17:22:12 · 803 阅读 · 1 评论 -
SpringBoot 系列教程(六十四):Spring Boot 中的静态资源到底要放在哪里?
转自江南一点雨:http://springboot.javaboy.org/2019/0408/springboot-static-resources一、Spring Boot 中的静态资源到底要放在哪里?当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥Spring Boot 中的静态资源加载问题:“松哥,我的HTML页面好像没有样式...转载 2019-10-17 13:59:30 · 563 阅读 · 1 评论 -
Spring Boot 中自定义 SpringMVC 配置,到底继承谁?
文章转自江南一点雨:https://www.javaboy.org/2019/0816/spring-boot-springmvc.html一、Spring Boot 中自定义 SpringMVC 配置,到底继承谁?用过 Spring Boot 的小伙伴都知道,我们只需要在项目中引入spring-boot-starter-web依赖,SpringMVC 的一整套东西就会自动给我们配置好...转载 2019-10-17 11:10:39 · 590 阅读 · 0 评论 -
SpringBoot 系列教程(二):SpringBoot使用Devtools实现热部署
1.devtools spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用。2.项目搭建 本文是采用IDEA搭建的Spring Boot应用,通过spring-boot-devtools配置,可以支持修改java文件会自动重启程序,一些资源无需触发重启,...原创 2018-10-24 16:10:56 · 973 阅读 · 0 评论