从零开始学Spring Boot
文章平均质量分 92
Spring Boot技术、视频、交流平台
悟纤
过着爱谁谁的生活,活出不设限的人生!
展开
-
国内最全的Spring Boot系列之三
历史文章《国内最全的Spring Boot系列之一》《国内最全的Spring Boot系列之二》马上要过年了,作者要回家好好休息一下了,吃饱喝足,明年继续。在此和大家拜个早年,祝大家:鼠年大吉、心想事成、万事如意、开心每一天。「您可以在评论区留下你的脚步、留下你的祝福;因为你的祝福,所以我快乐!」一、回首2019转眼间202...原创 2020-03-03 16:56:50 · 28088 阅读 · 0 评论 -
Spring Boot实用小技巧5 - 第527篇
SpringBoot支持异步处理,你可以使用@Async注解来异步执行方法,提升应用的性能和响应速度,这个是一个好功能,如果执行异步功能,一般我们都要自己开线程去执行异步任务,但是用异步注解可以由框架启动一个内嵌的异步任务执行我们的代码逻辑,这个相当优雅,有没有?如果在一个大型的项目中,包括了很多未开发模块,那么维护起来就非常的繁琐。Controller应该非常简单。对于基础的,技术人员大部分都懂,如果碰到一些特别的需求,一般就是在于一些小技巧就能够轻松解决,知道和不知道的差别就是技术方案上的不同。原创 2024-09-23 15:24:20 · 437 阅读 · 0 评论 -
Spring Boot实用小技巧4 - 第526篇
一些小技巧在手,可以解决一些复杂的需求,所以一些小技巧平时自己也要多多总结,方能不乱于产品需求之中。原创 2024-09-10 10:34:31 · 1262 阅读 · 0 评论 -
Spring Boot实用小技巧3 - 第525篇
原来我们在使用tomcat开发时,设置网站图片时,即icon图标时,一般都是直接替换root包下的favicon.ico替换成自己的,或者在网页的头部设置link的ref为icon然后设置其href值。而在SpringBoot中,替换图片也是很简单的,只需要将自定义图片放置在静态资源目录下即可,即默认有static、public、resources、/META-INF/resources或者自定义的静态目录下即可。以上是默认的路径,我们可以在这自定义自己的资源路径。(2)•替换原本明文保存的配置。原创 2024-08-26 18:02:54 · 614 阅读 · 0 评论 -
SpringBoot多例模式,在同一个类中注入两次是否是同一个对象 – 一不小心就会写出一个重大BUG!! - 521篇
话说在五百年前的一篇文章中发起了一个投票,答案竟然这么出乎意料:这么一种投票结果,让我有点担忧,真的害怕在程序中,写了一个大大的bug出来。为了更清晰的进行讲解,我重新简单搭建了一个框架,Spring Boot版本选择的是 3.3.2,定义了一个和一个请求控制类MyController:至于MyService多例还不知道怎么编写的小伙伴,或者还不清楚什么是多例的,可以关注公众号「SpringBoot」,回复关键词「」进行查看。原创 2024-07-22 12:26:07 · 570 阅读 · 0 评论 -
SpringBoot开发的AI导航站技术架构剖析 —— 技术如何选型 - 第520篇
(1)前后端分离:这种架构的好处,就是后端只需要提供接口,不需要懂前端的技术,另外就是一旦展示方式或者要多个前端网站,后端接口都不需要动。(2)后端+前端代码:这种方式是需要后端的,导航站的信息数据都在后端进行管理和返回,前端只做页面的渲染。AI导航站整体的一个架构和开发还是不复杂的,博主在这里也这是把自己的一个思考过程和大家进行分享,在碰到技术的选型的时候要根据自身和团队的实际情况进行灵活的调整。(3)我希望我开发的不仅仅是AI导航站,而是一个通用的导航站,可以根据不同的域名,展示不同的导航站。原创 2024-07-15 11:34:51 · 1008 阅读 · 0 评论 -
SpringBoot 中多例模式的神秘世界:用法区别以及应用场景,最后的灵魂拷问会吗?- 第519篇
五》七》悟纤:师傅,你看看,我写了一个Redis的阻塞队列的通用服务,一开始一个开发接入我这个服务的时候,运行的很正常;当有另外一个开发也接入的时候,就会出现一些数据被另外一个改的现象。师傅:你这个应该是在服务当中定义了一些配置的属性,这些属性对于某个场景是不变的;当另外一个场景是其它的配置了。悟纤:师傅,不要这样子,感觉你就像我肚子里的蛔虫,怎么我还没告诉你,你就都不知道了。师傅:你这个不用是蛔虫,都能猜到,这里说明你对于Spring Boot有些知识还了解的不够透彻。原创 2024-07-08 15:28:52 · 836 阅读 · 0 评论 -
Spring的SmartLifecycle可以没用过,但没听过就不好了! - 第517篇
最近在开发一个AI音乐项目(地址在下面)的时候,在使用队列的时候,想在程序启动和关闭的时候,对队列进行一些操作,一开始的时候@PostConstruct和@PreDestroy,但还是无法很好的进行关停,后面了解到SmartLifecycle,这个确实很好用。然而,在某些情况下,我们可能会遇到一些遗漏的场景,比如希望在容器本身的生命周期事件(如容器启动、停止)上执行一些操作,一个典型的例子就是在Spring Boot中启动内嵌的Web容器。在应用程序关闭时,可以优雅地停止定时任务的执行。原创 2024-06-17 16:29:13 · 976 阅读 · 0 评论 -
一文讲清楚SpringBoot项目打包jar后运行报错template might not exist - 第514篇
解决Spring Boot项目线上部署时template not exist报错的几种常见方法。原创 2024-05-27 18:05:39 · 1074 阅读 · 0 评论 -
Transaction rolled back because it has been marked as - 第512篇
当执行saveRole方法的时候,saveRole方法抛出异常,这个时候事务就会被标记为仅回滚(因为在saveRole方法中抛出异常,saveRole方法这事务本该是要回滚,所以会将saveRole方法的事务标记为。当执行B方法的时候,B方法抛出异常,这个时候事务就会被标记为仅回滚(因为在B方法中抛出异常,B方法这事务本该是要回滚,所以会将B方法的事务标记为rollback-only);:在事务执行过程中,如果业务逻辑检测到某些条件不满足,可能会主动标记事务为rollback-only,以防止数据不一致。原创 2024-05-20 17:57:38 · 982 阅读 · 0 评论 -
国内最全的Spring Boot系列之七
一转眼马上要过年了,回首2023年,感觉自己无所事事、碌碌无为、一脸茫然,但总的还是有些事情可以记录一下…原创 2024-02-04 18:04:11 · 897 阅读 · 0 评论 -
SpringBoot集成MyBatis-Plus + MyBatis-Plus代码生成器[MP系列] - 第490篇
mybatis-plus也提供了相应的代码生成插件mybatis-plus-generator,这一节来看看如何通过 mybatis-plus-generator来生成代码。原创 2023-10-10 15:13:59 · 150 阅读 · 0 评论 -
模板文件导出Excel【EasyPoi实战系列】- 第478篇
Excel的样式是很复杂的,用代码生成Excel的方式对于处理比较复杂的样式,就有点爱莫能助。原创 2023-06-21 09:35:17 · 1215 阅读 · 1 评论 -
【EasyPoi实战系列】Spring Boot使用EasyPoi动态控制导出的列 - 第471篇
注解的导出,规定我们必须把model写好,并且注解写好,每次导出的Excel都是固定的,无法动态控制导出的列,虽然可以通过id来处理一个案例,但是自由度远远不够,本节介绍另外一种导出的方式,自由度十足。原创 2023-05-23 19:22:53 · 348 阅读 · 0 评论 -
【EasyPoi实战系列】Spring Boot使用EasyPoi的注解让表格更漂亮以及图片的导出 - 第468篇
(1)姓名单元格都快把你我挤坏了。(2)性别怎么能显示数字呢,不得显示对应的男/女吗?(3)图片显示的地址问题也不大,但是产品还是希望能够显示为图片呢。(4)出生日期格式也不友好呀。原创 2023-04-25 14:34:25 · 571 阅读 · 0 评论 -
【EasyPoi实战系列】Spring Boot集成EasyPoi - 第467篇
在项目的开发工程中,经常有导入导出数据的常见功能场景,Apache的POI是处理导入导出中最常用的,但是其原生的用法太复杂,很繁琐,总是在Copy… ,无意间发现一款简单粗暴的神器EasyPoi,EasyPoi也是基于POI的原创 2023-04-19 18:39:19 · 1361 阅读 · 0 评论 -
SpringBoot配置文件拆分 - 第466篇
Spring Boot可以外部化程序配置,以便可以在不同环境中使用相同的应用程序代码;当然Spring Boot可以将配置文件进行拆分,以便于激活不同的运行环境。可以在单个文件中区分多环境,也可以将单个文件拆分成多配置文件。原创 2023-04-12 09:43:34 · 160 阅读 · 0 评论 -
为什么ClassPathResource可以读取到流?- 第465篇
在之前有篇文章中《线上环境无法读取classpath下的txt文件?》中说到了解决这个问题的方式就是使用ClassPathResource和class.getResourceAsStream,那为什么这样的方式可以呢?又是什么原理呢原创 2023-04-04 19:02:27 · 694 阅读 · 0 评论 -
SpringBoot版的低代码开发平台,关联无 SQL - 第462篇
diboot设计目标: 为开发人员打造的低代码开发平台,将复杂的工作简单化、重复的工作自动化,提高质量、效率、可维护性。用上diboot,告别常规SQL和CRUD,写的更少,性能更好!原创 2023-03-06 17:24:18 · 572 阅读 · 0 评论 -
Idea启动多个SpringBoot项目的3种方案
IDEA提供了强大Dashboard功能(运行仪表盘), 可以很好的将上面的多应用启动实例进行管理,使我们配置的项目可视化,方便spring boot项目重新配置、Run、Debug,简化了我们的操作步骤。所以当你能够直面问题和困难的时候,你注定会成长。有时同一个服务要启动多份测试负载均衡,那我们不能傻傻的去复制多份吧,对于这个问题,有很多种方案,在这里通过深入浅出的讲解方式,希望打开大家的思考问题的思维方式。师傅:徒儿,你说的这是啥话,是放松,不是放纵,为师严重怀疑你的语文是xxx教的。原创 2023-02-27 19:30:29 · 5628 阅读 · 0 评论 -
国内最全的Spring Boot系列之六
2022年就这么过去了,闭上眼回首2022年发生的事情,犹如过眼云烟 —— 一事无成的感觉。2022年到底都发生了什么事情,坚持了什么?于是我闭上眼睛,认真的思考起来……原创 2023-01-16 16:59:08 · 597 阅读 · 0 评论 -
开发工具中SpringBoot使用外置Tomcat启动 (亲测有效)-第458篇
(1)下载Tomcat,确保外置的Tomcat可以正常的启动,注意Tomcat的版本号最好是和Spring Boot相应的版本的Tomcat和JDK的版本号对应,免得碰到奇奇怪怪的问题。以为一切都很完美了,没想到有外置jar的方法的时候,直接报错了,目前找到的解决方案是,创建目录src/main/webapp/WEB-INF/lib/,将外置的jar放到这个目录下。(4)外置的jar不能识别的问题,就是将外置的jar放到一个固定的路径下,就能够被识别了。最近虽然都差不多了,但还是会不时的咳嗽。原创 2023-01-09 08:58:30 · 1302 阅读 · 0 评论 -
SpringBoot3初体验 - 第457篇
虽然项目无法一下子就冒险升级到最新版本,但作为一名技术爱好者,还是要体验一下新的技术的。Spring Boot 3作为Spring Boot重大的一个版本,还是有必要有一个简单的了解的。原创 2023-01-02 19:15:16 · 2547 阅读 · 0 评论 -
(我阳了)SpringBoot3正式版于11月24日发布:都有哪些新特性?- 第456篇
所以,如果你想升级 Spring Boot 3.0,请确保你的 JDK 版本是否符合要求,毕竟现在大部分人还是用的 Java 8,升级 JDK 版本不是一件小事,虽然现在 Java 17+ 是免费使用的,但不确定哪个时间点会收费,也可以转战 OpenJDK 或者其他开源的 JDK 版本。时隔四年多,Spring Boot 3.0 这是一个断崖式的版本更新,这四年多的时间,技术日新月异,无疑更新了太多的特性,也修复了海量的bug 的性能提升,今天栈长就聊聊 Spring Boot 3.0 的几个重大新特性。原创 2022-12-26 23:28:43 · 1215 阅读 · 2 评论 -
Spring的秒表StopWatch优雅的程序计时器 -第455篇
如果想知道一个方法的执行耗时时长,一般的思路是:记录开始时间,执行业务代码,记录结束时间,方法的耗时就等于=结束时间-开始时间。这种方式可以实现基本的统计需求,如果要统计各个任务的占比,那么代码的复杂度就会增加...原创 2022-12-19 16:39:43 · 1229 阅读 · 0 评论 -
SpringBoot中使用Spring-Retry重试框架 - 第454篇
在实际工作中,重处理是一个非常常见的场景。通常来说,会用try/catch,while循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码。原创 2022-12-13 10:09:03 · 806 阅读 · 0 评论 -
SpringBoot引入外部jar包,项目打包成war包发布(亲测有效) - 第453篇
将Spring Boot打包成war包,对于开发自己,可能都没有想过这个问题吧~需求都是来源于实际的,产品要求、技术领导要求、历史原因等等。原创 2022-12-05 17:26:31 · 848 阅读 · 0 评论 -
SpringBoot添加外部jar包及打包(亲测有效) - 第452篇
引入使用之后,编译以及在开发工具运行都是很正常的,但打完包之后,一运行就报错了,通常报错是Caused by: java.lang.ClassNotFoundException,所以这一节就来解决一下两个问题。原创 2022-11-29 09:37:35 · 601 阅读 · 1 评论 -
5个月的精华:Spring/SpringBoot扩展点手册:手册在手,编码无忧:全网独一份 - 第451篇
第一篇扩展点文章发表于2022-05-16,至今到这一篇文章耗时5个月左右一方面是总结之前的文章,本文主要是对于这系列的扩展点概念和实战做个汇总。对于Spring扩展点的系列文章,全网独有一份,绝对良心出品,如有雷同,请@我。原创 2022-11-21 21:00:30 · 791 阅读 · 0 评论 -
走进SpringBoot源码吃透Spring扩展点「扩展点实战系列」- 第450篇
在前面的几节中,介绍了很多扩展点的概念以及实战案例,这一节走进Spring Boot源码,来看一下这些扩展点都是在Spring Boot的哪个地方被调用的。原创 2022-11-14 19:47:33 · 322 阅读 · 0 评论 -
走进MyBatis源码一探Spring扩展点「知识点多多」「扩展点实战系列」- 第449篇
在前一小节模拟实现了MyBatis的注解编程,但对于MyBatis的实现远远会比自己实现的复杂多了,毕竟是一个这么成熟的框架,这一节就走进MyBatsis源码,带你了解Spring众多的扩展点是如何在MyBatis中进行使用的。原创 2022-11-07 19:58:51 · 417 阅读 · 0 评论 -
利用Spring扩展点模拟MyBatis的注解编程「知识点多多」「扩展点实战系列」- 第448篇
前面模拟了FeignClient的远程调用,可能很多小伙伴还没用过Feign,这一节我们利用Spring扩展点来模拟MyBatis的注解编程实现。总的实现思路和FeignClient的很像,当然有些地方的编码,我们也会使用其它的方式原创 2022-10-24 19:03:41 · 639 阅读 · 0 评论 -
利用Spring扩展点对敏感信息加密解密,一文集齐n多知识点「扩展点实战系列」」- 第447篇
配置文件内容敏感信息保护有2种常见的方案,我们讲到了其中的一种,这一节来使用另外一种方案,也就是使用Spring的扩展点进行敏感信息的保护。原创 2022-10-17 18:30:38 · 404 阅读 · 0 评论 -
深入Feign源码吃透Spring扩展点「扩展点实战系列」- 第446篇
对于FeignClient具体又是怎么实现的呢?实现的核心点是否也是使用了Spring的扩展点呢?原创 2022-10-09 21:36:16 · 249 阅读 · 0 评论 -
利用Spring扩展点模拟Feign实现远程调用(干货满满)「扩展点实战系列」- 第445篇
用过MyBatis的注解编程和@FeignClient,是不是有一点好奇,我们写的代码都是接口,也没有具体的实现类,接口怎么能执行呢?底层到底发生了事情?通过本节模拟FeignClient将会揭开MyBatis和FeignCleint的面纱原创 2022-09-26 20:25:32 · 506 阅读 · 0 评论 -
Spring注解@Qualifier的详细用法你知道几种「扩展点实战系列」- 第444篇
在实现Ribbon的负载均衡提到一个很重要的注解@Qualifier,可能还有很多的小伙伴对于这个注解,还有点懵逼的状态,这一节的话就讲讲@Qualifier为什么需要存在,以及常见的几种方法。原创 2022-09-19 17:57:58 · 611 阅读 · 0 评论 -
一个注解@LoadBalanced就能让RestTemplate拥有负载均衡的能力?「扩展点实战系列」- 第443篇
在前面的小节,师傅带着大家使用注解以及Spring扩展点的方式实现了RestTemplate的负载均衡算法,师傅不时的提到Ribbon的负载均衡也是这么去实现的,那真的是这样吗?我说的不算,还是让Ribbon源码自己来说。原创 2022-09-13 08:41:45 · 371 阅读 · 0 评论 -
3种方案扩展RestTemplate让其具备负载均衡(超级详细)「扩展点实战系列」- 第442篇
RestTemplate简化了网络请求,在使用的时候,设置一个url,可以指定返回的数据的类型。在默认情况下,是不具备负载均衡能力的原创 2022-09-05 17:20:43 · 332 阅读 · 0 评论 -
配置类信息赋值为Java静态变量「扩展点实战系列》」- 第441篇
对于配置文件application.properties或者application.yml中的配置属性,希望封装成一个Java对象。耶,这个看起来很简单呢,@Value不就可以实现了吗?那如果我在加一个条件原创 2022-08-29 22:28:00 · 229 阅读 · 0 评论 -
服务信息上报+记录请求信息+监听项目运行状态还能这么玩「扩展点系列」- 第440篇
对于Spring框架提供了几个事件ContextRefreshedEvent、ContextStartedEvent、ContextStoppedEvent、RequestHandledEvent。原创 2022-08-22 18:25:29 · 300 阅读 · 0 评论