200119-SpringBoot系列教程之声明式事务Transactional

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

查看更多

分享到

200115-SpringBoot系列教程Solr之查询使用姿势小结

接下来进入solr CURD的第四篇,查询的使用姿势介绍,本文将主要包括以下知识点

  • 基本的查询操作
  • fq查询
  • fl指定字段查询
  • 比较/范围
  • 排序
  • 分页
  • 分组

查看更多

分享到

200114-SpringBoot系列教程Solr之文档删除

之前的搜索教程开了个头就没有继续了,现在重新捡回来,至少也把CURD的基本操作姿势补全了;本篇主要介绍如何删除数据

查看更多

分享到

200111-SpringBoot 整合 SpringSecurity 之基于内存认证(一)

在第一篇的教程中,我们简单的了解了一下SpringSecurity的使用姿势,添加依赖,在application.yml文件中加几行配置,就可以实现一个基本的登录认证;

默认的配置只能设置一个账号,那么如果需要多个账号可以怎么支持呢?

本文将介绍一下基于内存的认证方式

查看更多

分享到

200105-SpringBoot系列web篇之自定义返回Http Code的n种姿势

虽然http的提供了一整套完整、定义明确的状态码,但实际的业务支持中,后端并不总会遵守这套规则,更多的是在返回结果中,加一个code字段来自定义业务状态,即便是后端5xx了,返回给前端的http code依然是200

那么如果我想遵守http的规范,不同的case返回不同的http code在Spring中可以做呢?

本文将介绍四种设置返回的HTTP CODE的方式

  • @ResponseStatus 注解方式
  • HttpServletResponse#sendError
  • HttpServletResponse#setStatus
  • ResponseEntity

查看更多

分享到

200104-SpringWeb系列教程RestTemplate 4xx/5xx 异常信息捕获

近期使用RestTemplate访问外部资源时,发现一个有意思的问题。因为权限校验失败,对方返回的401的http code,此外返回数据中也会包含一些异常提示信息;然而在使用RestTemplate访问时,却是直接抛了如下提示401的异常,并不能拿到提示信息

那么RestTemplate如果希望可以获取到非200状态码返回数据时,可以怎么操作呢?

查看更多

分享到

200103-SpringBoot系列JPA错误姿势之Entity映射

本篇为JPA错误使用姿势第二篇,java的POJO类与数据库表结构的映射关系,除了驼峰命名映射为下划线之外,还会有什么别的坑么?

查看更多

分享到

191231-SpringBoot系列教程MybatisPlus整合篇

前面介绍了SpringBoot整合Mybatis 实现db的增删改查操作,分别给出了xml和注解两种实现mapper接口的方式;虽然注解方式干掉了xml文件,但是使用起来并不优雅,本文将介绍mybats-plus的使用case,简化常规的CRUD操作

查看更多

分享到

191230-SpringBoot系列教程Mybatis+注解整合篇

上一篇博文介绍了SpringBoot整合mybatis的过程,但是xml的方式,总感觉让人有点蛋疼;本文将介绍一种noxml的使用姿势,纯用注解的方式来支持CURD

查看更多

分享到

191227-SpringBoot系列教程Mybatis+xml整合篇

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

本文将通过实例方式,介绍下如何整合SpringBoot + Mybatis,构建一个支持CRUD的demo工程

查看更多

分享到

191225-SpringBoot 应用篇 实现后端的接口版本支持

作为一个主职的后端开发者,在平时的工作中,最讨厌的做的事情可以说是参数校验和接口的版本支持了。对于客户端的同学来说,业务的历史包袱会小很多,当出现不兼容的业务变动时,直接开发新的就好;然而后端就没有这么简单了,历史的接口得支持,新的业务也得支持,吭哧吭哧的新加一个服务接口,url又不能和之前的相同,怎么办?只能在某个地方加一个类似v1, v2

那么有没有一种不改变url,通过其他的方式来支持版本管理的方式呢?

本文将介绍一种,利用请求头来传递客户端版本,在相同的url中寻找最适合的这个版本请求的接口的实例case

主要用到的知识点为:

  • RequestCondition
  • RequestMappingHandlerMapping

查看更多

分享到

191223-SpringBoot 整合 SpringSecurity 之起源篇(零)

本篇为SpringSecurity的第一篇,主要来介绍下什么是SpringSecurity,以及在springboot中如何使用它

查看更多

分享到