springboot
springboot实战系列
不爱编程的设计师
莫问前程,一路向前!
展开
-
Mybatis拦截慢SQL日志记录
背景通过分析MySQL慢查询日志不方便,利用数据源不直观,无法了解上下文调用关系要求通过可配置化的操作实现日志在控制台的输出和在数据库中记录本文利用SpringBoot和Mybatis,基于Mybatis Interceptor实现慢SQL拦截日志记录和打印输出一、服务配置# slow-sql# 基于interceptorslow-sql-interceptor.enabled=...原创 2020-04-24 11:32:58 · 4403 阅读 · 4 评论 -
Mybatis拦截结果集实现字段加密
业务背景在实际开发过程中,业务上会有很多数据交互和传输,其中必然存在一些敏感数据,不能直接明文传输,需要进行加密前端与后端数据交互时上下游子系统之间交互时本文基于Mybatis结果集ResultSetHandler拦截实现字段加密一、声明注解用于指定加密字段@Documented@Target({ElementType.FIELD})@Retention(Retentio...原创 2020-04-24 10:35:37 · 3303 阅读 · 2 评论 -
Mybatis大数据量Excel导出避免OOM解决方案
一、背景动态数据导出是一般项目都会涉及到的功能。它的基本实现逻辑就是从数据库查询数据,加载到内存,然后从内存创建excel或者csv,以流的形式响应给前端,通过浏览器下载到本地然而一旦数据量太大,达到十万级,百万级,千万级,大规模数据加载到内存必然会引起OutofMemoryError如何解决,本文提供了完整的解决方案二、如何避免OOM1、产品角度我们为什么要导出这么多数据呢?这...原创 2020-04-09 10:40:33 · 4473 阅读 · 4 评论 -
SpringBoot使用JWT实现登录拦截验证
一、定义JSON Web Token(JWT)是一个开放的标准(RFC 7519)定义了一个紧凑且自包含的方式,用于在各方之间以JSON对象安全地传输信息信息可以通过数字签名进行验证和信任可以使用秘密(使用HMAC算法)或使用RSA的公钥/私钥对来对JWT进行签名二、请求流程1、用户在浏览器中输入用户名、密码进行登录验证2、服务端登录验证3、成功则返回生成的JWT,失败则抛...原创 2020-04-08 17:34:35 · 2050 阅读 · 0 评论 -
SpringBoot发送注册激活邮件(附HTML模板)
效果展示一、准备工作需要开启POP3、SMTP邮件服务需要设置客户端授权码以网易邮箱举例如下:二、发送模板邮件1、添加依赖<!--mail--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-b...原创 2020-04-08 15:38:51 · 4461 阅读 · 0 评论 -
SpringBoot定时任务
一、@Scheduled默认是串行的,单线程,当开启多个任务时,任务的执行时机会受上一个任务执行时间的影响 @Configuration @EnableScheduling //开启定时任务 public class ScheduleTask { //每10秒执行一次 @Scheduled(cron = "0/10 * * * * ?"...原创 2020-01-13 16:27:41 · 282 阅读 · 0 评论 -
SpringBoot全局异常处理
一、自定义数据统一返回对象/** *@Author thailandking *@Date 2019/12/1 11:58 *@LastEditors thailandking *@LastEditTime 2019/12/1 11:58 *@Description 统一返回对象 */@Datapublic class Response implements Serializab...原创 2020-01-13 16:21:47 · 137 阅读 · 0 评论 -
springboot使用@data注解,减少不必要代码
一、idea安装lombok插件二、重启idea三、添加maven依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version&...原创 2018-10-22 16:41:28 · 150643 阅读 · 20 评论