springboot系列
文章平均质量分 86
简单讲述springboot 希望这次我可以坚持把所有我知道的都写出来
宁在春
阿里云/InfoQ签约作者,掘金/csdn优质创作者,Java 领域的新生创作者,主要深耕于 Java 领域相关的技术。
喜爱创作,希望自己的文章能够帮助到一些伙伴,也希望能够通过创作结交到一些志同道合的伙伴。
长路修远,吾与子之共适。(长路漫漫,我们一起享受~)
一个喜欢文艺却走上编程的男孩。
望别日,与君相见时,君已有所成。
展开
-
你有没有觉得邮件发送人固定配置在yml文件中是不妥当的呢?SpringBoot 动态设置邮件发送人
明月当天,不知道你有没有思念的人前言之前其实已经写过SpringBoot异步发送邮件,但是今天在一个小项目中要用到发送邮件时,我突然觉得邮件发送人只有一个,并且固定写在yml文件中,就是非常的不妥当,就想着怎么整成一个动态的。在写之前已经翻过很多博客了,该踩的坑都踩的差不多了,我是实现之后写的文章,有问题大家可以一起交流。小声bb(对于CSDN我真的逐渐变得麻木了,简称CV大法现场,虽然我本人也是CSDN的一名小小博主,也是资深用户,对于文章的这块很多时候真的没法说,除了能说加油也没有了吧)。于.原创 2021-11-27 12:48:58 · 965 阅读 · 0 评论 -
SpringBoot整合Easyexcel操作Excel,闲暇之余,让我们学习更多
关于封面:晚饭后回自习室的路上Easyexcel 官方文档Easyexcel | github前言最近也是在写的一个小练习中,需要用到这个。趁着这次就将写个整合的Demo给大家。希望能够让大家有所收获。阅读完本文,我想你对于使用Java配合Easyexcel操作Excel是完全没有问题的啦。一、环境准备1.1、导入相关依赖依赖我使用Easyexcel的jar包是2021年10月的,说一句是最新版本,莫问题吧????easyexcel | maven<!-- https://m原创 2021-11-01 09:25:59 · 870 阅读 · 6 评论 -
你知道从浏览器发送请求给SpringBoot后端时,是如何准确找到哪个接口的?(下篇)学废了吗?
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。纸上得来终觉浅,绝知此事要躬行注意: 本文 SpringBoot 版本为 2.5.2; JDK 版本 为 jdk 11.前言:前文:你了解SpringBoot启动时API相关信息是用什么数据结构存储的吗?(上篇)写文的原因,我前文说过就不再复述了。问题大致如下:为什么浏览器向后端发起请求时,就知道要找的是哪一个接口?采用了什么样的匹配规则呢?SpringBoot 后端是原创 2021-10-26 15:26:33 · 1159 阅读 · 1 评论 -
你了解SpringBoot启动时API相关信息是用什么数据结构存储的吗?(上篇)
封面:学校篮球场上的云纸上得来终觉浅,绝知此事要躬行注意: 本文 SpringBoot 版本为 2.5.2; JDK 版本 为 jdk 11.后续文章???? 从浏览器发送请求给SpringBoot后端时,是如何准确找到哪个接口的?(下篇)前言:在写文章的时候,我都会习惯性的记录下,是什么因素促使我去写的这篇文章。并竟对于感兴趣的东西,写起来也上心,也更得心应手,文章质量相应也更高。当然更多的是想和更多人分享自己的看法,与更多的人一起交流。“三人行,必有我师焉” ,欢迎大家留言评论交流。写这原创 2021-10-26 15:21:25 · 227 阅读 · 0 评论 -
SpringBoot 整合 Thymeleaf & 如何使用后台模板快速搭建项目
如果你和我一样,是一名 Java 道路上的编程男孩,其实我不太建议你花时间学 Thymeleaf,当然他的思想还是值得借鉴的。但是他的本质在我看来就是 Jsp 技术的翻版(Jsp 现在用的真的很少很少)。弄前端完全可以直接上手前端框架 vue。并竟学Java在我眼里,目前没有什么是不要学的。兼测试、运维、前端啥都要会点。另外就目前来说,学Java的人数恐怕仍然后端中最庞大的。免费后台模板在文末,大家有需求可以直接下载。我想如果不是学校作业,也不会心血来潮写这篇文章????????。阅读本文收获原创 2021-10-19 09:50:39 · 1389 阅读 · 2 评论 -
你有没有遇到要实现多种登录方式的场景丫 一起来看看咯 Spring Security 实现多种登录方式,如常规方式外的邮件、手机验证码登录
你好丫,我是博主宁在春,一起加油吧!!!不知道, 你在用Spring Security的时候,有没有想过,用它实现多种登录方式勒,这次我的小伙伴就给我提了一些登录方面的需求,需要在原有账号密码登录的基础上,另外实现电话验证码以及邮件验证码登录,以及在实现之后,让我能够做到实现第三方登录,如gitee、github等。本文主要是讲解Security在实现账号密码的基础上,并且不改变原有业务情况下,实现邮件、电话验证码登录。原创 2021-12-23 13:23:52 · 867 阅读 · 1 评论 -
SpringBoot 实现固定、动态定时任务 | 三种实现方式 | 附源代码
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。背景:????最近要用到这个定时任务,之前就简单使用注解的那种方式,需求一变化,就得重新修改。就想到了动态定时任务,连接数据库来动态选择,这样确实解决了问题。但是仍然有一个缺陷,就是没法设置任务的执行时间,无法做到像 QQ 发说说那样,给 xdm 祝福生日时,设定说说为晚上00:00发布。本文就以上三点用自己的思路写了一个小Demo,希望对大家有所帮助。????????封面:来自于校园一角,秋意渐浓,思念渐深。前言:阅读完本文原创 2021-10-08 12:38:11 · 964 阅读 · 0 评论 -
今天,我们来详细的聊一聊SpringBoot自动配置原理,学了这么久,你学废了吗?
SpringBoot是我们经常使用的框架,那么你能不能针对SpringBoot实现自动配置做一个详细的介绍。如果可以的话,能不能画一下实现自动配置的流程图。牵扯到哪些关键类,以及哪些关键点。下面我们一起来看看吧!!前言:阅读完本文:你能知道 SpringBoot 启动时的自动配置的原理知识你能知道 SpringBoot 启动时的自动配置的流程以及对于 SpringBoot 一些常用注解的了解一步一步 debug 从浅到深。注意:本文的 SpringBoot 版本为 2.5.2一、启.原创 2021-09-28 11:52:38 · 272 阅读 · 2 评论 -
史上最详细微信小程序授权登录与后端SprIngBoot交互操作说明,附源代码,有疑惑大家可以直接留言,蟹蟹 2021.11.29 完善更新小程序代码,2022.4.27 更新
你好,我是博主宁在春,一起学习吧!!!写这篇文章的原因,主要是因为最近在写毕业设计,用到了小程序,这中间曲曲折折,一言难尽啊。毕业设计真的让人麻脑阔????。唉最近在持续更新,每天推送完代码,遇到的问题都记下来,希望对大家也能有所帮助。在网上找了很多很多,看了不下几十篇,说实话,有些给出了核心代码,添上一个微信官方的那张流程图就结束了,会的人一下就懂了。但是说实话,真的不适合入门学者,浪费很多时间都不一定能解决问题,将代码复制完不是少这就是少那,或者就是不齐,不然就是跑不起来,不知道看到这篇文章的你原创 2021-09-15 10:44:11 · 26443 阅读 · 31 评论 -
SpringBoot基于异常处理exception发送邮件消息提醒
在项目常常会出现一些意料之外的错误,不能及时处理,大家都懂的哈。????当然现在有很多监控服务,我这点能力是不够写的哈。☺就有了这么一个小小的思路,用邮件服务来提醒出现异常啦。????????(狗头保命)????????很喜欢一句话:”八小时内谋生活,八小时外谋发展“我们:"待别日相见时,都已有所成”????曾经想和女朋友一起去看的生活这么久的城市中的一个小小地方,事实上去是去了,只是一个人去了。21.8.14一、前言SpringBoot异步实现发送邮件服务1)异常处理概述:异原创 2021-08-17 09:54:02 · 919 阅读 · 0 评论 -
SpringBoot日志收集-Aop方式-存进数据库一起来和我看看咋收集日志吧!!
现在大多数项目都会输出日志或保存日志,现在这个大数据时代,数据已经是一种非常非常重要的资源了。日志也有很大作用的,不要小瞧它哦。????很喜欢一句话:“八小时内谋生活,八小时外谋发展”。如果你也喜欢,让我们一起坚持吧!!共勉????我们:待别日相见时,都已有所成SpringBoot日志收集-Aop方式-存进数据库一、前言1)概述:2)介绍:3)使用场景:二、前期准备2.1、数据库2.2、导入依赖2.3、yml配置文件2.3、配置自定义log注解类2.4、SysLogAspect:切面处理类2原创 2021-08-18 10:39:47 · 193 阅读 · 1 评论 -
SpringBoot整合异步任务实现发送邮件
异步任务在很多地方都用的特别多,例如注册发送邮件,发送短信等等。本文是讲解一个简单的SpringBoot异步任务的实现,技术总是慢慢进步的啦。(狗头保命)????????很喜欢一句话:”八小时内谋生活,八小时外谋发展“我们:"待别日相见时,都已有所成”????校园一角SpringBoot异步任务Async及邮件服务搭配起来更棒哦!!!一、前言1)概述:2)使用场景:二、代码实现1、步骤:2、导入依赖:3、yml配置文件4、config层5、实体类6、service层7、controller8原创 2021-08-17 09:53:33 · 997 阅读 · 4 评论 -
SpringBoot整合Swagger 自动生成在线API文档 偷懒必备 同时也是我们的基本操作啦!!!
现在大都数项目都已是前后端分离的啦,那么接口文档就成了项目中非常重要的一部分啦,SpringBoot整合Swagger可以自动生成RESTFUL风格的API文档,也可以在其中进行测试,比起以前手写的文档,不仅方便很多,而且也易于修改和测试。很喜欢一句话:”八小时内谋生活,八小时外谋发展“我们:"待别日相见时,都已有所成”????好的天气,好的心情SpringBoot整合Swagger 自动生成在线API文档一、前言1)引入2)介绍3)作用二、快速开始2.1、步骤:2.2、导入依赖:2.3、yml原创 2021-08-15 09:11:10 · 323 阅读 · 0 评论 -
Spring Boot 使用Actuator监控应用
今天是突然喵到这个知识点(Actuator)的,我以前确实不知道这个玩意可以这么玩,像是发现新大陆一样,整了会它,还学会了如何优雅的关闭SpringBoot应用????。很喜欢一句话:”八小时内谋生活,八小时外谋发展“我们:"待别日相见时,都已有所成”看看小风景再继续哈Spring Boot 使用Actuator监控应用一、前言1)概述:2)分类:3)主要接口:二、快速开始步骤:导入依赖:书写配置:启动测试、命令解释:1、actuator2、health3、info4、beans5、condit原创 2021-08-12 23:03:14 · 233 阅读 · 0 评论 -
SpringBoot整合Security安全框架、控制权限
我想每个写项目的人,都肯定会遇到控制权限这个问题.例如这个这个链接只能管理员访问,那个链接丫只能超级管理员访问等等,实现方式也有多种多样,控制的粒度也不一样。以前刚学的时候,不会框架,大都是手写注解+过滤器来进行权限的控制,但这样增加了过滤器的负担。用起来也会稍微有些麻烦,粒度不太好控制。用框架的话,就是封装了更多的操作,让一切更简单吧。当然不局限于Security,还有像Shiro安全框架,这两种非常常见。一起加油吧!!!????先看个图舒缓一下,准备开始吧????????下面就开始吧!原创 2021-08-11 22:24:43 · 1555 阅读 · 12 评论 -
SpringBoot 整合 Redis 实现消息队列
写这篇文章的原因还是得归咎于???? 上一篇博客写了????Docker搭建Redis Cluster 集群环境我自己是认为对于每个知识点,光看了不操作是没有用的(遗忘太快…),多少得在手上用上几回才可以,才能对它加深印象。昨天搭建了Redis Cluster 集群环境,今天就来拿它玩一玩Redis 消息队列吧于是便有了这个Redis 实现消息队列的Demo,很喜欢一句话:”八小时内谋生活,八小时外谋发展“。共勉.????SpringBoot 整合 Redis 实现消息队列一、前言概念作用:原创 2021-08-12 10:39:38 · 825 阅读 · 0 评论 -
SpringBoot 整合Redis 实现发布/订阅模式附带Redis集群配置
上一篇博客写了????Docker搭建Redis Cluster 集群环境我自己是认为对于每个知识点,光看了不操作是没有用的(遗忘太快…),多少得在手上用上几回才可以,才能对它加深印象。昨天搭建了Redis Cluster 集群环境,今天就来拿它玩一玩Redis 发布/订阅模式吧很喜欢一句话:”八小时内谋生活,八小时外谋发展“。共勉.????地点:????不知道作者:LSpringBoot 整合Redis集群配置 实现发布/订阅模式一、前言二、前期准备2.1、项目结构:2.2、依赖的jar原创 2021-08-11 17:18:57 · 675 阅读 · 1 评论 -
SpringBoot整合Minio 项目中使用自己文件存储服务器
前言:基本上每个项目,都会有个上传文件、头像这样的需求,文件可以存储在阿里云、腾讯云、七牛云这样的对象存储服务上,但是使用这些都不能白嫖,这就让人很难受啊。然后就找到了这个Minio,感觉还是很爽的,全部由自己掌控。代码中附带详细解释,不懂的也可以留言或私信,会及时作出回复!地点:湖南省永州市蓝山县舜河村作者:用心笑*????一、前言及环境准备minio介绍: MinIO是根据GNU Affero通用公共许可证v3.0发布的高性能对象存储。minio特点:高性能(读/写速度上高达183 G原创 2021-08-10 13:54:26 · 1640 阅读 · 15 评论 -
SpringBoot集成MybatisPlus 涵盖了目前流行的知识点!!!即用即cv即可!!!学过的同学,也可以存储作为工具!!
知识点涵盖:代码自动生成、主键自增(雪花算法)、分页、自动填充字段、LocalDateTime 序列化配置、druid数据源配置、SQL监控页面、逻辑删除、事务管理、多环境配置等等。1、 可以无缝内嵌进项目,也可以保存下来,方便下次使用。2、代码中带有很多注解,为方便对MybatisPlus了解不深的同学,也能够快速看懂。????????or????3、不行的话一步一步复制,也是可以运行起来的,慢慢看更好。地点:湖南邵阳作者:喜SpringBoot集成MybatisPlus 涵盖了目前流行原创 2021-08-01 21:05:17 · 224 阅读 · 0 评论 -
Error creating bean with name ‘requestMappingHandlerAdapter‘ OR Failed to load ApplicationContext
Error creating bean with name ‘requestMappingHandlerAdapter’ OR java.lang.IllegalStateException: Failed to load ApplicationContextError creating bean with name ‘requestMappingHandlerAdapter’ defined in class path resource [org/springframework/boot/auto原创 2021-07-07 23:51:32 · 5568 阅读 · 5 评论 -
史上最详细阿里云服务器上Docker部署vue项目 实战 每一步都带详细图解!!!
史上最详细阿里云服务器上Docker部署vue项目 实战 每一步都带详细图解!!!找了很多博客,最后才成功,????太难啦。大家要是最后成功了一定要记得来给我点个赞哦。每一步都是带图带解析的实操。步骤:1、打包先将前端vue项目打包运行命令:npm run build等它打包完就可以啦。2、Dockerfile文件写一个Dockerfile文件FROM nginx #拉取nginx镜像COPY ./dist/ /usr/share/nginx/html/ #将dist目录下内原创 2021-05-18 21:04:02 · 3331 阅读 · 12 评论 -
新闻系统粗略说明文档
新闻系统草稿端口80访问地址示例: http://ip地址/api/v1/loginLoginController1、登录:2、退出3、注册NewsController1、查看所有新闻: 五条一页2、根据id查询新闻3、根据类别查询新闻4、根据新闻的作者查询5、根据新闻的id 进行批量删除6、根据关键字查询 包括但不限于关键字,标题、作者7、修改新闻8、保存新闻 不发布的那种9、写完直接发布新闻10、根据新闻id 修改新闻的发布状态 目前只有从没有发原创 2021-05-11 15:38:10 · 125 阅读 · 0 评论 -
史上最全阿里云服务器上Docker部署Springboot项目 实战 每一步都带详细图解!!!
SpringBoot项目发布在服务器上的Docker上运行 操作细节前言我写这个博客前已经将我需要的mysql、redis等等都安装好了。安装redis的博客、我之前也写啦的。在这里只讲怎么将项目放到服务器上的docker上去跑,环境还是需要自己搭建的。项目中用到什么,就要在docker中安装什么。本人项目环境:jdk11 、mysql 5.7、redis项目结构如果想要idea 中dockerfile 文件高亮的话,在idea下载一下docker插件具体步骤:1、打成jar包1原创 2021-04-28 21:46:14 · 1311 阅读 · 4 评论 -
SpringBoot集成七牛云-实现文件上传、下载、解决报错、详细案例
SpringBoot集成七牛云–详细案例–解决下载报错背景在网上找了一圈,都没有看到一个能够跑动的案例,要么太久远,要么就实现不了。最后实在没法去找了学长,他给我发了一份文档,才算学会。我当时的功能需求:希望上传一张图片,然后能够返回这个图片的外链链接。一直卡在返回图片外链链接上,一直报一个错误,就是不能够回显到页面上。获取外链需要写下面这段代码。最后才有这篇博客的出现,希望大家能够及时避坑。具体步骤工程目录导入依赖 <dependencies> <原创 2021-04-25 11:07:05 · 2412 阅读 · 11 评论 -
mybatis做批量删除时写SQL语句时遇到的问题
在做批量删除时写mybatisSQL语句时遇到的问题我一开始想法很简单就是用where id in (这里用foreach遍历出来) 语句来完成。这个想法是正确的,但是我踩了不知道多少个坑才写出来。mapper层 /* * 根据新闻id删除评论 * @Param * @return **/int deleteCommentByNewsId(ArrayList<Integer> newsIds);mybatis写的sql语句 <原创 2021-04-21 20:06:38 · 341 阅读 · 0 评论 -
SpringBoot-Security 具体案例、 实现安全框架、权限控制、aop切入
SpringBoot-Security 具体案例、 实现安全框架、权限控制、aop切入SpringBoot-Security介绍Security 官方序言 安全是一个不断变化的目标,追求一个全面的、系统范围的方法很重要。在安全领域,我们鼓励您采用“安全层”,这样每个层都可以尽可能地保证自身的安全性,并且连续的层提供额外的安全性。每一层的安全性越“严格”,您的应用程序就越健壮和安全。在底层,为了减少中间人攻击,你需要处理诸如传输安全和系统辨识等问题。接下来,您将通常使用防火墙,也许是通过 vpn 或原创 2021-04-17 13:50:06 · 333 阅读 · 0 评论 -
Spring-Security 简介、入门案例详解、安全框架、权限验证 SSM项目 使用 JavaConfig配置
Spring-Security 简介、安全框架、权限验证、入门案例介绍 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代原创 2021-04-16 20:33:27 · 286 阅读 · 0 评论 -
RBAC、控制权限设计、权限表设计 基于角色权限控制和基于资源权限控制的区别优劣
RBAC、控制权限设计、权限表设计 基于角色权限控制和基于资源权限控制的区别优劣介绍现阶段我们知道的大概就是两种权限设计一种是基于角色的权限设计另一种是基于资源的权限设计接下来我给大家讲一讲这两种权限的区别,以及那种更好。在后面也会给出数据库里表的设计的具体代码。基于角色的权限设计RBAC基于角色的访问控制(Role-Based Access Control)是按角色进行授权。例如:比如:主体的角色为总经理可以查 询企业运营报表,查询员工工资信息等,访问控制流程如下:根据上图中的判原创 2021-04-15 20:08:12 · 1414 阅读 · 0 评论 -
MyBatis-Plus 乐观锁 防止超卖、逻辑删除、自动填充、Id自增
MyBatis-Plus 乐观锁 防止超卖、逻辑删除、自动填充 Day3前面的简单的讲了一下mybatis-plus的使用 当然有很多不足 我写博客就是想促进大家一起学习 也想让这些内容更简单一些。介绍这次就主要讲乐观锁、逻辑删除、自动填充。这几项在项目是用的非常多的。先讲一下主要应用 之后再讲理论和实现。乐观锁:主要用于防止商品超卖的方面逻辑删除:逻辑删除主要是用于用户对于数据的误删的一种撤销机制。删除分为两种一种是物理删除 就是数据库层面的删除 彻底的从磁盘中删除另外原创 2021-04-14 19:37:57 · 743 阅读 · 0 评论 -
MyBatis-Plus Day2 Wapper 核心功能 条件构造器 测试
MyBatis-Plus Day2 核心功能 条件构造器之前搭建的在上一篇博客中已经写好了。链接:https://blog.csdn.net/weixin_45821811/article/details/115678015今天的任务是去康康这个条件构造器。我主要是做了测试 这个只是方便大家更简单的理解但是具体的使用和深层次的理解 还是需要大家一步一步手动测试的。下面是自己做的测试 大家可以康一康 个人觉得这种还是需要在项目中才能理解的更加深刻项目里的需求种类更多。 // 条件构造器原创 2021-04-14 11:42:47 · 108 阅读 · 0 评论 -
MyBatis-Plus 快速开始及详测 SpringBoot 集成Mybatis-Plus
MyBatis-Plus 快速开始及详测简介MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即原创 2021-04-13 20:48:03 · 139 阅读 · 0 评论 -
org.junit.vintage.engine.descriptor.RunnerTestDescriptor warnAboutUnfilterableRunner
org.junit.vintage.engine.descriptor.RunnerTestDescriptor warnAboutUnfilterableRunner使用springBoot 测试类的时候 报出了一个这样的警告看代码的时候感觉完全没有问题中间省略…然后最后发现是 把@Test的包导错了导入正确的包是这个成功运行...原创 2021-04-13 15:52:42 · 2918 阅读 · 3 评论 -
springboot-cache的简单使用
springboot-cache 的简单使用springboot-cache介绍一、前言Spring Cache 对 Cahce 进行了抽象,提供了 @Cacheable、@CachePut、@CacheEvict 等注解。Spring Boot 应用基于 Spring Cache,既提供了基于内存实现的缓存管理器,可以用于单体应用系统,也集成了 Redis 等缓存服务器,可以用于大型系统或者分布式系统。二、关于 Cache应用系统需要通过 Cache 来缓存不经常改变的数据以提高系统性能和增加系原创 2021-04-10 22:37:11 · 704 阅读 · 0 评论