SpringBoot
文章平均质量分 91
飘渺Jam
这个作者很懒,什么都没留下…
展开
-
SpringBoot整合RocketMQ,老鸟们都是这么玩的!
今天我们来讨论如何在项目开发中优雅地使用RocketMQ。本文分为三部分,第一部分实现SpringBoot与RocketMQ的整合,第二部分解决在使用RocketMQ过程中可能遇到的一些问题并解决他们,第三部分介绍如何封装RocketMQ以便更好地使用。1. SpringBoot整合RocketMQ在SpringBoot中集成RocketMQ,只需要简单四步:引入相关依赖<dependenc...原创 2023-04-10 08:32:30 · 5387 阅读 · 3 评论 -
SpringBoot 如何保证接口安全?老鸟们都是这么玩的!
大家好,我是飘渺。对于互联网来说,只要你系统的接口暴露在外网,就避免不了接口安全问题。如果你的接口在外网裸奔,只要让黑客知道接口的地址和参数就可以调用,那简直就是灾难。举个例子:你的网站用户注册的时候,需要填写手机号,发送手机验证码,如果这个发送验证码的接口没有经过特殊安全处理,那这个短信接口早就被人盗刷不知道浪费多少钱了。那如何保证接口安全呢?一般来说,暴露在外网的api接口需要做到防篡改和防重...原创 2023-02-02 08:32:01 · 4866 阅读 · 0 评论 -
SpringBoot中实现业务校验,这种方式才叫优雅~
大家好,我是飘渺。在日常的接口开发中,为了保证接口的稳定安全,我们一般需要在接口逻辑中处理两种校验:参数校验业务规则校验首先我们先看看参数校验。参数校验参数校验很好理解,比如登录的时候需要校验用户名密码是否为空,创建用户的时候需要校验邮件、手机号码格式是否准确。而实现参数校验也非常简单,我们只需要使用Bean Validation校验框架即可,借助它提供的校验注解我们可以非常方便的完成参数校验。常见的校验注解有:@Null、@NotNull、@AssertTrue、@AssertFal原创 2022-02-12 09:21:25 · 1270 阅读 · 1 评论 -
SpringBoot启动时如何对配置文件进行校验?这种方法才叫优雅~
概述在项目开发过程中,某个功能需要依赖在配置文件中配置的参数。这时候就可能出现下面这种现象:有时候经常出现项目启动了,等到使用某个功能组件的时候出现异常,提示参数未配置或者bean注入失败...原创 2022-01-05 09:03:00 · 1717 阅读 · 2 评论 -
SpringBoot 如何进行业务校验,老鸟们都这么玩的~
大家好,我是飘渺。今天继续给大家带来SpringBoot老鸟系列 的第七篇,来聊聊在SpringBoot项目中如何实现业务异常校验Assert。希望通过今天的文章,咱们能够了解到:如何使...原创 2022-01-19 09:03:00 · 1582 阅读 · 3 评论 -
SpringBoot 如何异步编程,老鸟们都这么玩的
大家好,我是飘渺。今天继续给大家带来SpringBoot老鸟系列的第六篇,来聊聊在SpringBoot项目中如何实现异步编程。老鸟系列文章导读:1. SpringBoot 如何统一后端返回格式?老鸟们都是这样玩的!2. SpringBoot 如何进行参数校验?老鸟们都是这么玩的!3. SpringBoot 如何生成接口文档,老鸟们都这么玩的!4. SpringBoot 如何进行对象复制,老鸟们都这么玩的!5. SpringBoot 生成接口文档,我用smart-doc6. SpringBoot原创 2021-12-01 09:00:00 · 2930 阅读 · 1 评论 -
为什么要在MVC三层架构上再加一层Manager层?
我们在刚刚成为程序员的时候,就会被前辈们 “教育” 说系统的设计要遵循 MVC(Model-View-Controller)架构。它将整体的系统分成了 Model(模型),View(视图)和 Controller(控制器)三个层次,也就是将用户视图和业务处理隔离开,并且通过控制器连接起来,很好地实现了表现和逻辑的解耦,是一种标准的软件分层架构。原创 2021-10-21 12:48:56 · 9164 阅读 · 19 评论 -
SpringBoot 如何进行限流?老鸟们都这么玩的!
大家好,我是飘渺。SpringBoot老鸟系列的文章已经写了四篇,每篇的阅读反响都还不错,那今天继续给大家带来老鸟系列的第五篇,来聊聊在SpringBoot项目中如何对接口进行限流,有哪些常见的限流算法,如何优雅的进行限流(基于AOP)。首先就让我们来看看为什么需要对接口进行限流?为什么要进行限流?因为互联网系统通常都要面对大并发大流量的请求,在突发情况下(最常见的场景就是秒杀、抢购),瞬时大流量会直接将系统打垮,无法对外提供服务。那为了防止出现这种情况最常见的解决方案之一就是限流,当请求达到一定的并原创 2021-10-11 11:48:16 · 15241 阅读 · 30 评论 -
SpringBoot 集成接口文档,老鸟们也被打脸了!
之前我在SpringBoot老鸟系列中专门花了大量的篇幅详细介绍如何集成Swagger,以及如何对Swagger进行扩展让其支持接口参数分组功能。详情可见:SpringBoot 如何生成接口文档,老鸟们都这么玩的!可是当我接触到另一个接口文档工具 smart-doc后,我觉得它比Swagger更适合集成在项目中,更适合老鸟们。今天我们就来介绍一下smart-doc组件的使用,作为对老鸟系列文章的一个补充。swagger vs smart-doc首先我们先看一下Swagger组件目前存在的主要问题:原创 2021-09-29 08:57:51 · 2302 阅读 · 4 评论 -
SpringBoot 如何进行对象复制,老鸟们都这么玩的!
大家好,我是飘渺。今天带来SpringBoot老鸟系列的第四篇,来聊聊在日常开发中如何优雅的实现对象复制。首先我们看看为什么需要对象复制?为什么需要对象复制如上,是我们平时开发中最常见的三层MVC架构模型,编辑操作时Controller层接收到前端传来的DTO对象,在Service层需要将DTO转换成DO,然后在数据库中保存。查询操作时Service层查询到DO对象后需要将DO对象转换成VO对象,然后通过Controller层返回给前端进行渲染。这中间会涉及到大量的对象转换,很明显我们不能直接使原创 2021-09-23 14:39:34 · 5684 阅读 · 13 评论 -
SpringBoot 如何生成接口文档,老鸟们都这么玩的!
大家好,我是飘渺。SpringBoot老鸟系列的文章已经写了两篇,每篇的阅读反响都还不错,果然大家还是对SpringBoot比较感兴趣。那今天我们就带来老鸟系列的第三篇:集成Swagger接口文档以及Swagger的高级功能。 文章涉及到的代码已经上传到了github,希望最终能应用在你们实际项目上,当然如果有其他需要我添加到内容也可以直接留言告诉我,我会视情况给你们加上去的。SpringBoot 如何统一后端返回格式?老鸟们都是这样玩的!SpringBoot 如何进行参数校验? 老鸟们都是这样玩的原创 2021-08-26 15:28:40 · 6202 阅读 · 51 评论 -
SpringBoot 如何进行参数校验,老鸟们都这么玩的!
大家好,我是飘渺。前几天写了一篇《SpringBoot如何统一后端返回格式?老鸟们都是这样玩的!》阅读效果还不错,而且被很多号主都转载过,今天我们继续第二篇,来聊聊在SprinBoot中如何集成参数校验Validator,以及参数校验的高阶技巧(自定义校验,分组校验)。此文是依赖于前文的代码基础,已经在项目中加入了全局异常校验器。(代码仓库在文末)首先我们来看看什么是Validator参数校验器,为什么需要参数校验?为什么需要参数校验在日常的接口开发中,为了防止非法参数对业务造成影响,经常需.原创 2021-08-12 08:54:39 · 6677 阅读 · 6 评论 -
SpringBoot 如何统一后端返回格式?老鸟们都是这样玩的!
大家好,我是飘渺Jam,今天我们来聊聊分布式事务,以及常见的几种解决方式。分布式事务基础事务事务指的就是一个操作单元,在这个操作单元中的所有操作最终要保持一致的行为,要么所有操作都成功,要么所有的操作都被撤销。简单地说,事务提供一种“要么什么都不做,要么做全套”机制。本地事务本地事务其实可以认为是数据库提供的事务机制。说到数据库事务就不得不说,数据库事务中的四大特性:A:原子性(Atomicity),一个事务中的所有操作,要么全部完成,要么全部不完成C:一致性(Consistency),在一个原创 2021-07-07 08:47:25 · 4231 阅读 · 19 评论 -
在SpringBoot中实现异步事件驱动
作者:飘渺Jam,一家三流城市三流公司的三流架构师【JAVA日知录】关于转载:欢迎转载博主文章,转载时表明出处求赞环节:创作不易,记得 点赞+评论+转发 谢谢你一路支持在项目实际开发过程中,我们有很多这样的业务场景:一个事务中处理完一个业务逻辑后需要跟着处理另外一个业务逻辑,伪码大致如下:@Servicepublic class ProductServiceImpl { ... public void saveProduct(Product product) { pr.原创 2021-06-25 09:34:35 · 2322 阅读 · 12 评论 -
SpringBoot开发秘籍 - 处理跨域请求CORS
CORS(Cross-Origin Resource Sharing)"跨域资源共享",是一个W3C标准,它允许浏览器向跨域服务器发送Ajax请求,打破了Ajax只能访问本...原创 2021-03-30 08:51:19 · 904 阅读 · 3 评论 -
SpringBoot开发秘籍 - 利用 AOP 记录日志
为什么要用AOP?答案是解耦!Aspect Oriented Programming 面向切面编程。解耦是程序员编码开发过程中一直追求的。AOP也是为了解耦所诞生。具体思想是:定义一个切...原创 2020-05-13 08:50:08 · 3869 阅读 · 3 评论 -
SpringBoot 开发秘籍 - 整合参数校验
对于web服务来说,为防止非法参数对业务造成影响,在Controller层一定要对参数进行校验!本章我们以SpringBoot项目为例,介绍参数校验的基本用法以及一些高级技巧,希望能对你有所帮助。简单使用要在Springboot项目中加入参数校验功能首先得加入spring-boot-starter-validation依赖<dependency> <groupId>org.springframework.boot</groupId> <artifact原创 2021-05-18 08:54:04 · 955 阅读 · 8 评论 -
SpringBoot开发秘籍 - 集成Graphql Query
概述REST作为一种现代网络应用非常流行的软件架构风格受到广大WEB开发者的喜爱,在目前软件架构设计模式中随处可见REST的身影,但是随着REST的流行与发展,它的一个最大的缺点开始暴露出...原创 2021-04-21 09:02:33 · 1477 阅读 · 3 评论 -
SpringBoot 开发秘籍 - 启动时配置校验
概述在项目开发过程中,某个功能需要依赖在配置文件中配置的参数。这时候就可能出现下面这种现象问题:有时候经常出现项目启动了,等到使用某个功能组件的时候出现异常,提示参数未配置或者bean注...原创 2020-08-31 11:37:31 · 3285 阅读 · 3 评论