Spring Boot
文章平均质量分 75
Mr.菜园子
欢迎关注,如想查看新篇,请关注我个人的博客吧:www.sddzcyz.cn
展开
-
SpringBoot2.0实战(18)整合SpringSecurity前后端分离JSON交互
在前端的文章中,我们实现了使用 SpringSecurity 实现登录鉴权,并使用数据库存储用户信息,实现登录鉴权SpringBoot2.0实战(16)整合SpringSecurity之最简登录方法鉴权SpringBoot2.0实战(17)整合SpringSecurity基于数据库登录鉴权登录页都是使用 SpringSecurity 提供的默认登录,入参为username及password,前端通过 form 表单提交请求,后台使用request.getParameter()获取填写数...原创 2020-05-08 20:59:05 · 994 阅读 · 0 评论 -
SpringBoot2.0实战(17)整合SpringSecurity基于数据库登录鉴权
通过前一篇文章整合SpringSecurity之最简登录及方法鉴权,我们已经可以简单地使用 SpringSecurity 对应用实现登录鉴权,但是问题在于,用户信息或者是在配置文件中,或者是在代码中写死,应用启动后被加载至内存,这并不符合实际的生产需要,在实际的生产应用中,我们需要使用数据库对用户及角色信息进行持久化,在执行登录操作时,从数据库中获取用户信息。目标整合 SpringSec...原创 2020-04-29 20:49:32 · 3500 阅读 · 0 评论 -
SpringBoot2.0实战(16)整合SpringSecurity之最简登录方法鉴权
目标整合 SpringSecurity 实现最简登陆鉴权及方法鉴权,大致理解 SpringSecurity 的功用。操作步骤添加依赖编码Controller 层添加一个最简单的测试接口启动类可以看到,除了在 pom 文件加了一个 spring-boot-starter-security 依赖,其它跟创建最简 springBoot 应用...原创 2020-04-27 22:32:15 · 465 阅读 · 0 评论 -
SpringBoot2.0实战(14)整合Redis之实现分布式锁
相关知识分布式锁分布式锁是控制分布式系统之间同步访问共享资源的一种方式,在分布式系统中,如果不同的应用之间共享一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。互斥性。在分布式环境下,同一时间只有一个客户端能持有锁。 具备锁失效机制,防止死锁。例如锁的持有者在持有锁期间崩溃而没有主动解锁,锁需要在规定时间后自动失效,以...原创 2020-04-26 11:00:57 · 407 阅读 · 0 评论 -
SpringBoot2.0实战(13)整合RabbitMQ之实现延迟队列、消息重试
相关知识什么是延迟队列队列中的消息在等待指定时间后,消费者才能够进行消费。应用场景商城系统,下单后半个小时未付款,自动取消订单实现方式RabbitMQ 本身没有直接支持延迟队列功能,但是通过控制消息的生存时间及死信队列,可以模拟出延迟队列的效果。RabbitMQ 控制消息的生存时间有两种方法:设置队列属性(x-message-ttl),队列中所有消息都有相同的过期时...原创 2020-04-14 21:58:24 · 557 阅读 · 0 评论 -
SpringBoot2.0实战(12)整合RabbitMQ之死信队列
相关知识什么是死信队列“死信”是RabbitMQ中的一种消息机制,当你在消费消息时,如果队列里的消息出现以下情况:消息被否定确认,使用 channel.basicNack 或 channel.basicReject ,并且此时requeue 属性被设置为false。 消息在队列的存活时间超过设置的TTL时间。 消息队列的消息数量已经超过最大队列长度。那么该消息将成为“死信”,“死...原创 2020-04-13 19:15:53 · 1062 阅读 · 0 评论 -
SpringBoot2.0实战(11)整合RabbitMQ之ACK消息确认
相关知识交换器direct:一对一 fanout:一对多 topic:模式匹配目标整合 Spring boot 提供的 spring-boot-starter-amqp,实现消息发送、消息消费、确认准备工作安装RabbitMQ请自行根据windows或者Linux进行安装操作步骤添加依赖添加后的整体依赖如下配置编码(消息发送方)定义 E...原创 2020-04-13 18:42:40 · 816 阅读 · 0 评论 -
SpringBoot2.0实战(10)整合fluent-validator优雅业务校验
相关知识FluentValidator是一个工具类库,使用流式(Fluent Interface)调用风格让校验跑起来更优雅,代码更简洁,同时验证器(Validator)可以做到开闭原则,实现最大程度的复用。github地址:https://github.com/neoremind/fluent-validator中文使用手册:http://neoremind.com/2016/02/...原创 2020-04-06 21:42:12 · 716 阅读 · 0 评论 -
SpringBoot2.0实战(9)整合Mybatis-plus完成CURD
相关知识Mybatis-plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。Mybatis-plus官网:https://mp.baomidou.com/特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CR...原创 2020-04-06 16:39:11 · 265 阅读 · 0 评论 -
SpringBoot2.0实战(8)整合Swagger2自动生成API文档
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。相关知识Swagger官网:https://swagger.io常用注解:@Api 用于类,表示标识这个类是swagger的资源@ApiOperation 用于方法,表示一个http请求的操作@ApiParam 用于方法,参数,字段说明,表示对参数的添加元数据(说明或...原创 2020-04-06 10:21:18 · 202 阅读 · 0 评论 -
SpringBoot2.0实战(7)整合MapStruct优雅地复制属性
在之前章节的例子中,我们在接收参数的时候都是使用的 User 类对象,这是一个 DO 对象,是用于与数据库进行交互的,而不是用于与前端业务进行交互的,所以需要创建一个 BO 业务对象用来与前端业务进行交互,保证数据隔离性及安全性。接收参数换成了 BO 对象,但数据入库使用的是 DO 对象,这中间就需要将 BO 对象的属性复制到 DO 对象,然后代码里就会出现大量的 do.set(bo.get(...原创 2020-04-05 20:25:10 · 1665 阅读 · 0 评论 -
SpringBoot2.0实战(6)整合hibernate-validator进行参数校验
spring-boot-starter-web 项目中默认已经集成了 hibernate-validator相关知识@AssertTrue // 用于 boolean 字段,该字段只能为 true@AssertFalse // 用于 boolean 字段,该字段只能为 false@DecimalMax // 用于 Number 字段,只能小于或等于该值@DecimalMin ...原创 2020-04-03 21:02:48 · 479 阅读 · 0 评论 -
SpringBoot2.0实战(5)配置Filter过滤器
本章目标学会在 SpringBoot 项目中配置 Filter,实现对请求出入参的日志打印。操作步骤添加依赖引入 Spring Boot Starter 父工程引入 spring-boot-starter-web 的依赖编码编写 Filter实现对 application/json 请求的拦截,因为请求内容使用流,所以需要多一次封装...原创 2020-04-03 17:06:59 · 1329 阅读 · 0 评论 -
SpringBoot2.0实战(4)配置拦截器
相关知识关于拦截器的相关知识可参考:https://jinnianshilongnian.iteye.com/blog/1670856本章目标学会在 SpringBoot 的项目中怎么配置拦截器操作步骤添加依赖引入 Spring Boot Starter 父工程引入 spring-boot-starter-web 的依赖编码编写拦截器...原创 2020-04-03 16:01:05 · 375 阅读 · 0 评论 -
SpringBoot2.0实战(3)SpringBoot单元测试
本章目标基于上一章,使用单元测试实现对增删查改接口的测试操作步骤添加依赖引入 spring-boot-starter-test 的依赖添加依赖后的整体 dependencies 如下所示编码测试用例编写在 src/test/java 源目录下编写测试用例代码分析@RunWith(SpringRunner.class) 指...原创 2020-04-03 15:16:08 · 566 阅读 · 0 评论 -
SpringBoot2.0实战(2)集成SpringBootJPA完成CURD
本章目标整合 SpringBootJPA,实现对 mysql 数据库表的增删查改操作。操作步骤初始化数据库在 mysql 的 test 库中创建表 user,脚本如下,其中主键设置为自动增长。添加依赖引入 Spring Boot Starter 父工程引入 `spring-boot-starter-web`、`spring-boot-starter-...原创 2020-04-02 20:59:43 · 666 阅读 · 0 评论 -
SpringBoot2.0实战(1)快速构建Web应用
本章目标使用 SpringBoot 完成一个简单的 Web 应用程序开发,初步体验 SpringBoot 快速、简洁的特性。操作步骤构建项目打开 Idea,依次选择 File -> New -> Module,打开 Module 面板。左侧栏选择 Maven,点击下一步。填写 groupId、artifactId、version,点击下一步。填写项目名,一般...原创 2020-04-02 19:58:52 · 329 阅读 · 0 评论 -
Springboot 整合RabbitMq
原文链接https://blog.csdn.net/qq_35387940/article/details/100514134我的githubd代码demo地址https://github.com/caiyuanzi-song/mq.git转载 2020-03-28 12:06:51 · 67 阅读 · 0 评论 -
Spring Boot关于Rest Api前后端分离404、500全局异常处理
1、自定义返回json格式/** * Created by 菜园子 on 2019/3/25. */public class Result { private int code;//0请求失败;1请求成功;其它服务异常 private String msg; private Object data; public Result() { ...原创 2019-03-25 16:41:24 · 2756 阅读 · 1 评论 -
Spring Boot 28 整合Redis
1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>2、配置连接redis地址sprin...原创 2019-03-07 17:54:40 · 101 阅读 · 0 评论 -
SpringBoot 12——欢迎页(首页)映射
1、WebMvcAutoConfiguration.welcomePageHandlerMapping()分析 欢迎页映射2、getWelcomePage()方法获取获取 欢迎页面 可存储路径3、从如下路径查找index.html4、示例...原创 2019-01-17 17:48:50 · 744 阅读 · 0 评论 -
SpringBoot自定义注解,AOP统一打印请求日志
1、添加所需依赖<!-- aop 依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>&l...原创 2019-05-08 13:43:30 · 770 阅读 · 0 评论 -
Spring boot Cors解决跨域
package com.diveyun.gas.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration;...转载 2019-06-13 16:03:05 · 107 阅读 · 0 评论 -
springboot+mybatis配置多数据源(分包策略和AOP策略)
简介:随着并发量的不断增加,显然单个数据库已经承受不了高并发带来的压力。一个项目使用多个数据库(无论是主从复制- - 读写分离还是分布式数据库结构)的重要性变得越来越明显。传统项目中(个人对传统项目的理解就是所有的业务模块都在一个tomcat中完成,多个相同的tomcat集群也可认为是传统项目)整合多数据源有两种方法:分包和AOP。版本:springboot:1.5.9.RELEASE...转载 2019-06-22 23:01:46 · 1704 阅读 · 0 评论 -
Windows系统利用winsw启动springboot项目
1、下载工具包,链接:https://pan.baidu.com/s/1W-da7qhlSO-7G4oIb5DK0A提取码:oz7m2、解压文件,如下图3、修改名称,如下图(名称根据需要随便起)4、编辑xml文件5、以系统管理员身份运行命令行窗口,进入winsw所在文件夹,执行portal.exe install,portal是修改的名称。6、启动服务命令 ...原创 2019-07-08 15:17:31 · 635 阅读 · 0 评论 -
Spring Boot 26——异步任务与定时任务
异步任务 @EnableAysnc 启动类上开启基于注解的异步任务 @Aysnc 标识的方法会异步执行定时任务 @EnableScheduling 启动类上开启基于注解的定时任务 @Scheduled 标识的方法会进行定时处理 需要通过 cron 属性来指定 cron 表达式: 秒 分 时 日 月 星期几...原创 2019-02-20 22:23:08 · 185 阅读 · 0 评论 -
SpringBoot项目IDEA打war包
1、修改packaging为war包。2、去除内置tomcat3、修改启动类4、打war包,maven->lifecycle->package双击原创 2019-02-20 11:34:44 · 154 阅读 · 0 评论 -
SpringBoot 07——Profile多环境支持
1、Profile简介 Profile是Spring用来针对不同的环境要求,提供不同的配置支持,全局Profile配置使用的文件名可以是application-{profile}.properties/application-{profile}.yml 演示:开发环境(dev),端口:6666;生产环境(prod),端口(8888) ...原创 2019-01-08 22:12:31 · 160 阅读 · 0 评论 -
SpringBoot 06——加载指定配置文件
1、@propertySource加载局部配置文件 student.properties 注掉上节@ImportResource全局配置加载 加载指定配置文件 2、@ImportResource使用xml配置 ...原创 2019-01-08 21:18:25 · 1149 阅读 · 0 评论 -
SpringBoot 05——全局配置
1 全局配置文件 1.1 配置文件 application.properties application.yml 1.2 作用 修改Spring Boot自动配置的默认值2、yml是YAML,不是一个标记语言 YAML:以数据为中心,配置数据的时候具...原创 2019-01-07 21:46:44 · 137 阅读 · 0 评论 -
SpringBoot 09——Spring Boot日志配置
Spring Boot 采用了 slf4j+logback 的组合形式,Spring Boot也提供对JUL、log4j2、Logback提供了默认配置1、默认日志配置 修改日志默认级别 2、修改日志默认配置 修改日志文件生成路径 修改日志输出格式 3、日志底层实...原创 2019-01-12 11:30:32 · 7869 阅读 · 2 评论 -
SpringBoot 14——热部署
1、关于模板引擎,开发环境下禁用模板缓存2、添加Spring Boot Devtools热部署依赖3、Eclipse编辑器修改文件手动保存后,会自动编译,会触发热部署;Intellij IDEA,需要手动编译按Ctrl+F9...原创 2019-01-17 18:05:45 · 188 阅读 · 1 评论 -
SpringBoot 13——图标映射
SpringBoot会在静态资源目录下与根路径(按顺序)查找favicon.ico文件;如果存在这样的文件,Spring Boot 会自动将其设置为应用图标; 示例原创 2019-01-17 18:00:41 · 223 阅读 · 0 评论 -
SpringBoot 11——静态资源映射
1、在WebMvcAutoConfiguration.addResourceHandlers() 分析 访问其它资源映射2、staticPathPattern处理其它访问的静态路径,从WebMvcProperties构造器中获取到/**3、ResourceProperties根据请求查找资源文件,从以下四个路径中查找(静态资源目录)4、示例...原创 2019-01-17 17:28:19 · 194 阅读 · 0 评论 -
SpringBoot 10---webjars资源映射
在WebMvcAutoConfiguration.addResourceHandlers分析webjars资源映射1、所有/webjars/**请求,都去classpath:/META-INF/resources/webjars目录找对应资源文件2、webjars:以jar包的方式引入静态资源3、pom.xml引入4、访问路径http://localhost:8081/...原创 2019-01-17 11:34:29 · 282 阅读 · 0 评论 -
SpringBoot 04——实操Spring初始化器快速自动构建Spring Boot项目
1、新建2、选中Spring Initializr3、填写项目信息4、选择依赖5、完善项目信息6、完成7、pom.xml8、新建controller9、启动测试原创 2019-01-06 17:33:48 · 351 阅读 · 1 评论 -
SpringBoot 03——深入SpringBoot底层源码架构分析引导类注解的具体实现
1、@SpringBootApplication1.1、@SpringBootConfiguration1.1.1、@Configuration1.2@EnableAutoConfiguration1.3@ComponentScan2、分析原创 2019-01-06 16:16:19 · 1669 阅读 · 7 评论 -
SpringBoot 02——深入SpringBoot底层依赖
1、父依赖 spring-boot-starter-parent是项目的父依赖,继承spring-boot-dependencies(IntelliJ IDEA工具,ctrl键点击),spring-boot-dependencies定义了很多组件版本,引用组件依赖时,不需要写<version>2、启动器 spring-boot-start...原创 2019-01-06 15:42:38 · 379 阅读 · 0 评论 -
SpringBoot 08——配置文件加载位置
SpringBoot启动时,会扫描以下位置的application.properties或者application.yml文件作为Spring Boot的默认配置文件 以上按照优先级从低到高的顺序,将所有位置的配置文件全部加载,高优先级的配置内容会覆盖低优先级的配置内容。 演示: server....原创 2019-01-09 20:17:55 · 130 阅读 · 0 评论 -
SpringBoot 15——国际化配置
1、编写国际化配置文件2、自定义区域信息解析器进行设置区域信息替换mvc自动配置类中区域信息解析器(config类)3、Themeleaf页面测试<html lang="en" xmlns:th="http://www.thymeleaf.org"> ...原创 2019-01-25 16:38:41 · 168 阅读 · 0 评论