随笔分类 - SpringBoot
摘要:@Transactional 回滚问题(try catch、嵌套) springboot 提供了事务注解 @transactional ,当事务内出现异常时,可以回滚之前执行的代码,避免脏数据的产生。当 @transactional 与 try catch 搭配使用或者进行事务嵌套时,可能会出现无法
阅读全文
摘要:SpringBoot + Poi + ajax 实现导出 excel 当我们有导出 excel 的需求时,相信有不少人第一想到的就是 POI 的插件了,那在这里就做简单的示例。 1、pom.xml 引入依赖 <dependency> <groupId>org.apache.poi</groupId>
阅读全文
摘要:SpringBoot 简单整合 quartz 实现定时任务 遇到了定时任务的需求,这里不使用 springboot 自带的 @Scheduled 注解,使用的是第三方框架 quartz。 1、Quartz 核心组件 调度器:Scheduler。 任务:Job。 触发器:Trigger,包括 Simp
阅读全文
摘要:SpringBoot 整合 kaptcha 验证码 有些场景需要用到图形验证码,例如账号登录、密码找回,这里用到了 kaptcha 工具类。 1、引入 maven 依赖 <dependency> <groupId>com.github.penggle</groupId> <artifactId>ka
阅读全文
摘要:Spring Cloud 入门 Spring Cloud 的学习是一个比较漫长的旅程。 参考博客资料:https://www.kuangstudy.com/bbs/1374942542566551554 1、学习前言 学习网站: SpringCloud Netflix 中文文档:https://sp
阅读全文
摘要:SpringBoot ApplicationRunner 启动加载类 有些资源需要在项目启动后加载执行,这个时候可以使用 ApplicationRunner。 1、场景 ApplicationRunner是一个接口,我们需要实现它,并重写run()方法,当项目启动时,run()方法便会自动执行。 比
阅读全文
摘要:SpringBoot + RabbitMQ 入门 RabbitMQ 是比较传统的消息中间件,采用 erlang 语言开发,在中小型企业欢迎度较高。 1、流程概述 如果没有RabbitMQ的,请先安装 RabbitMQ。安装完成后访问 http://localhost:15672/,输入账号名和密码,
阅读全文
摘要:SpringBoot + Shiro 入门 shiro 是一个比 spring security 轻量的安全框架。 官方架构图如下: 1、shiro 核心模块 shiro 有三大核心组件,如下: Subject: 代表当前正在执行操作的用户,但 Subject 代表的可以是人,也可以是任何第三方系统
阅读全文
摘要:SpringBoot 全局异常处理器 使用 SpringBoot 开发项目时,在每个接口使用 try{}catch{} 捕捉异常是很麻烦的事,可以通过创建全局异常处理器统一解决异常。 1、定义全局异常处理器 @ControllerAdvice 用于声明一个类为全局异常处理器,@ExceptionHa
阅读全文
摘要:Spring Security + OAuth2 + JWT 基本使用 前面学习了 Spring Security 入门,现在搭配 oauth2 + JWT 进行测试。 1、什么是 OAuth2 OAuth 是一个关于授权(authorization)的开放网络标准,使得第三方应用可以使用该令牌在限
阅读全文
摘要:Spring Security 入门(基本使用) 这几天看了下b站关于 spring security 的学习视频,不得不说 spring security 有点复杂,脑袋有点懵懵的,在此整理下学习内容。 1、入门 个人理解url 的访问流程大致如下: 1.1、什么是 spring security
阅读全文
摘要:SpringBoot 整合 redis 实现 token 验证 在上一节中,实现了 SpringBoot + redis 的整合,因此在这里只列出必要部分的 redis 代码。 1、Redis 依赖 <!-- redis --> <dependency> <groupId>org.springfra
阅读全文
摘要:SpringBoot 整合 redis 实现 token 验证 在上一节中,实现了 SpringBoot + redis 的整合,因此在这里只列出必要部分的 redis 代码。 1、Redis 依赖 <!-- redis --> <dependency> <groupId>org.springfra
阅读全文
摘要:JWT 基本使用 在上一节中 session 共享功能使用 redis 进行存储,用户量激增时会导致 redis 崩溃,而 JWT 不依赖服务器,能够避免这个问题。 1、传统 session 1.1.认证方式 http协议本身是一种无状态的协议,如果用户向服务器提供了用户名和密码来进行用户认证,下次
阅读全文
摘要:Spring session + Redis 实现 Session 共享入门 最近学习接触到了 nginx 下 多个服务 session 共享问题,spring session 提供了简便的解决方案。 1、session 介绍 由于 HTTP 协议是无状态的协议,所以服务端需要记录用户的状态时,就需
阅读全文
摘要:HttpServletRequest + Filter 添加 header Filter 能够获得 HttpServletRequest 暴露的接口,但由于 HttpServletRequets 没有 setter方法,因此HttpServletRequest 是只可读的。但很多情况需要往HttpS
阅读全文
摘要:SpringBoot 非 Spring 管理环境获取 Bean SpringBoot 有些场景下无法直接通过 @Autowired、@Resource 自动装配Bean, 例如实现 Quartz 定时任务,这就需要我们手动获取 Bean。 1、配置类 定义 SpringUtils 配置类并实现 Be
阅读全文
摘要:SpringBoot Filter 过滤器 在项目中想拦截用户的请求并执行对应的操作,Interceptor 只能拦截 Controller 层级的请求,而 Filter 则几乎能过滤所有的请求。 1、介绍 Filter 是 JavaEE 中 Servlet 规范的一个组件, 通过 Filter 技
阅读全文
摘要:SpringBoot @Value 注解使用 当我想读取 application.yml/application.properties配置文件的参数值时,接触到了@Value注解。 部分知识参考:https://blog.csdn.net/woheniccc/article/details/7980
阅读全文
摘要:SpringBoot @ResponseBody、@RequestBody和@RequestParam 基本介绍 这三个注解主要用于前后端分离架构中 SpringBoot 接收或者传输特定格式数据,现在重新捋一遍。 1、@ResponseBody 位置:注解在方法头上 作用:将方法的返回值以 jso
阅读全文