当我们希望一组操作,要么都成功,要么都失败时,往往会考虑里利用事务来实现这一点;之前介绍的db操作,主要在于单表的CURD,本文将引入声明式事务@Transactional
的使用姿势

当我们希望一组操作,要么都成功,要么都失败时,往往会考虑里利用事务来实现这一点;之前介绍的db操作,主要在于单表的CURD,本文将引入声明式事务@Transactional
的使用姿势
在第一篇的教程中,我们简单的了解了一下SpringSecurity的使用姿势,添加依赖,在application.yml
文件中加几行配置,就可以实现一个基本的登录认证;
默认的配置只能设置一个账号,那么如果需要多个账号可以怎么支持呢?
本文将介绍一下基于内存的认证方式
虽然http的提供了一整套完整、定义明确的状态码,但实际的业务支持中,后端并不总会遵守这套规则,更多的是在返回结果中,加一个code字段来自定义业务状态,即便是后端5xx了,返回给前端的http code依然是200
那么如果我想遵守http的规范,不同的case返回不同的http code在Spring中可以做呢?
本文将介绍四种设置返回的HTTP CODE的方式
@ResponseStatus
注解方式HttpServletResponse#sendError
HttpServletResponse#setStatus
ResponseEntity
近期使用RestTemplate访问外部资源时,发现一个有意思的问题。因为权限校验失败,对方返回的401的http code,此外返回数据中也会包含一些异常提示信息;然而在使用RestTemplate访问时,却是直接抛了如下提示401的异常,并不能拿到提示信息
那么RestTemplate如果希望可以获取到非200状态码返回数据时,可以怎么操作呢?
前面介绍了SpringBoot整合Mybatis 实现db的增删改查操作,分别给出了xml和注解两种实现mapper接口的方式;虽然注解方式干掉了xml文件,但是使用起来并不优雅,本文将介绍mybats-plus的使用case,简化常规的CRUD操作
上一篇博文介绍了SpringBoot整合mybatis的过程,但是xml的方式,总感觉让人有点蛋疼;本文将介绍一种noxml的使用姿势,纯用注解的方式来支持CURD
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
本文将通过实例方式,介绍下如何整合SpringBoot + Mybatis,构建一个支持CRUD的demo工程
作为一个主职的后端开发者,在平时的工作中,最讨厌的做的事情可以说是参数校验和接口的版本支持了。对于客户端的同学来说,业务的历史包袱会小很多,当出现不兼容的业务变动时,直接开发新的就好;然而后端就没有这么简单了,历史的接口得支持,新的业务也得支持,吭哧吭哧的新加一个服务接口,url又不能和之前的相同,怎么办?只能在某个地方加一个类似v1
, v2
…
那么有没有一种不改变url,通过其他的方式来支持版本管理的方式呢?
本文将介绍一种,利用请求头来传递客户端版本,在相同的url中寻找最适合的这个版本请求的接口的实例case
主要用到的知识点为: