随笔分类 - springboot
摘要:前言 日常开发中,我们可能会碰到需要进行防重放与操作幂等的业务,本文记录SpringBoot实现简单防重与幂等 防重放,防止数据重复提交 操作幂等性,多次执行所产生的影响均与一次执行的影响相同 解决什么问题? 表单重复提交,用户多次点击表单提交按钮 接口重复调用,接口短时间内被多次调用 思路如下:
阅读全文
摘要:前言 日常开发中,大多数项目都会涉及到附件上传、回显、下载等功能,本文记录封装通用附件管理模块,并与业务模块进行整合实现上传、回显、下载 我们之前已经对文件上传下载有过记录,传送门:基于“formData批量上传的多种实现” 的多图片预览、上传的多种实现、formData批量上传的多种实现、自定义i
阅读全文
摘要:前言 定时器是我们项目中经常会用到的,SpringBoot使用@Scheduled注解可以快速启用一个简单的定时器(详情请看我们之前的博客《SpringBoot系列——定时器》),然而这种方式的定时器缺乏灵活性,如果需要对定时器进行调整,需要重启项目才生效,本文记录SpringBoot如何灵活配置动
阅读全文
摘要:前言 日常开发中,接口的参数校验必不可少,本文记录使用validation优雅进行参数校验。 官方介绍:https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmlsingle/#boot-features-validati
阅读全文
摘要:前言 springboot项目部署起来后,如何实时监控项目的运行状况呢?本文记录使用springboot-admin对服务进行监控。 springboot-admin介绍:https://codecentric.github.io/spring-boot-admin/current/#_what_i
阅读全文
摘要:前言 日常开发中,缓存是解决数据库压力的一种方案,通常用于频繁查询的数据,例如新闻中的热点新闻,本文记录springboot中使用cache缓存。 官方文档介绍:https://docs.spring.io/spring-boot/docs/2.1.0.RELEASE/reference/htmls
阅读全文
摘要:前言 日常开发中,我们经常会碰到这样的业务场景:用户注册,注册成功后需要发送邮箱、短信提示用户,通常我们都是这样写: /** * 用户注册 */ @GetMapping("/userRegister") public String userRegister(UserVo userVo) { //校验
阅读全文
摘要:前言 springboot内置的/error错误页面并不一定适用我们的项目,这时候就需要进行自定义统一异常处理,本文记录springboot进行自定义统一异常处理。 1、使用@ControllerAdvice、@RestControllerAdvice捕获运行时异常。 2、重写ErrorContro
阅读全文
摘要:前言 工作流程是我们日常开发项目中常见的功能,本文记录springboot整合activiti7。 Activiti介绍 官网:https://www.activiti.org 数据库表 act_hi_*:'hi’表示 history,此前缀的表包含历史数据,如历史(结束)流程实例,变量,任务等等。
阅读全文
摘要:前言 MyBatis-Plus是一款MyBatis的增强工具(简称MP),为简化开发、提高效率,但我们并没有直接使用MP的CRUD接口,而是在原来的基础上封装一层通用代码,单表继承我们的通用代码,实现了单表的基础get、save(插入/更新)、list、page、delete接口,使用Vo去接收、传
阅读全文
摘要:前言 大致原理:创建一个main主页面,只有主页面有头部、尾部,中间内容嵌入iframe内容子页面,如果在当前页面进行跳转操作,也是在iframe中进行跳转,而如果点击尾部按钮切换模块、页面,那就切换iframe标签的src进行更新url,这样我们在跳转页面时,头部、尾部都不会刷新,浏览效果更佳,配
阅读全文
摘要:前言 有时候我们需要使用https安全协议,本文记录在SpringBoot项目启用https 生成证书 自签名证书 使用java jdk自带的生成SSL证书的工具keytool生成自己的证书 1、打开cmd 2、输入命令生成证书 keytool -genkeypair -alias tomcat_h
阅读全文
摘要:前言 页面自适应PC端、移动端大体上可以分为两种: 1、在同一个页面进行自适应布局,通常使用CSS3 @media 媒体查询器实现 2、两套页面,在后端进行统一适配,根据不同的浏览器UA返回对应的页面 本文记录在java后端进行PC端、移动端页面适配的方案 工程结构 想要实现后端统一适配,首先要规范
阅读全文
摘要:前言 本文记录安装配置ES环境,在SpringBoot项目中使用SpringData-ElasticSearch对ES进行增删改查通用操作 ElasticSearch官网:https://www.elastic.co/cn/products/elasticsearch SpringData-Elas
阅读全文
摘要:前言 Spring Boot提供了与三个JSON映射库的集成: Gson Jackson JSON-B Jackson是首选的默认库。 官网介绍: https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/boot-fe
阅读全文
摘要:前言 本文记录一下在SpringBoot项目中是如何使用Filter过滤器 代码、测试 Filter过滤器是servlet包下面的东西,因此我们不需要再额外引包 方法一 直接实现Filter接口,并使用@Component注解标注为组件自动注入bean 查看日志可以发现,SpringBoot已经帮我
阅读全文
摘要:前言 众所周知,java的代码是同步顺序执行,当我们需要执行异步操作时我们需要创建一个新线程去执行,以往我们是这样操作的: /** * 任务类 */ class Task implements Runnable { @Override public void run() { System.out.p
阅读全文
摘要:前言 Spring Security官网:https://spring.io/projects/spring-security Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架,侧重于为Java应用程序提供身份验证和授权。Security通过大量的拦截器进行校验,具体
阅读全文
摘要:前言 出于安全原因,浏览器禁止ajax调用当前源之外的资源(同源策略),我们之前也有写个几种跨域的简单实现(还在问跨域?本文记录js跨域的多种实现实例),本文主要详细介绍CORS,跨源资源共享,以及如何在SpringBoot的几种实现方式 这里主要参考spring的这篇:https://docs.s
阅读全文
摘要:前言 SpringBoot启动时默认加载bootstrap.properties或bootstrap.yml(这两个优先级最高)、application.properties或application.yml,如果我们配置了spring.profiles,同时会加载对应的application-{pr
阅读全文