
从零开始学Spring Boot
文章平均质量分 92
Spring Boot技术、视频、交流平台
悟纤
过着爱谁谁的生活,活出不设限的人生!
展开
-
国内最全的Spring Boot系列之三
历史文章《国内最全的Spring Boot系列之一》《国内最全的Spring Boot系列之二》马上要过年了,作者要回家好好休息一下了,吃饱喝足,明年继续。在此和大家拜个早年,祝大家:鼠年大吉、心想事成、万事如意、开心每一天。「您可以在评论区留下你的脚步、留下你的祝福;因为你的祝福,所以我快乐!」一、回首2019转眼间202...原创 2020-03-03 16:56:50 · 28157 阅读 · 0 评论 -
Docker 使用镜像[SpringBoot之Docker实战系列] - 第537篇
不加任何参数的情况下,docker image ls 会列出所有顶层镜像,但是有时候我们只希望列出部分镜像。(2)Image使用dokcer来运行,就会产生容器的概念,容器是Image的实体化。运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像。(3)如果要删除镜像的话,那么容器和镜像是有依赖关系,所以要先删除容器,才能删除镜像。(1)docker中一个重要的角色是Image,镜像。其中,<镜像> 可以是 镜像短 ID、镜像长 ID、镜像名 或者 镜像摘要。原创 2025-05-26 17:04:39 · 1236 阅读 · 0 评论 -
Docker 基本概念[SpringBoot之Docker实战系列] - 第536篇
但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的 命名空间。所以严格来说,镜像并非是像一个 ISO 那样的打包文件,镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组成。每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,我们可以称这个为容器运行时读写而准备的存储层为 容器存储层。镜像构建完成后,可以很容易的在当前宿主机上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,原创 2025-02-24 13:25:28 · 782 阅读 · 0 评论 -
国内最全的Spring Boot系列之八
这一篇文章汇聚了7年的500多篇文章,值得点赞,收藏,转发原创 2025-01-20 20:49:06 · 818 阅读 · 0 评论 -
Docker 的安装和基本使用[SpringBoot之Docker实战系列] - 第535篇
library/hello-world是 image 文件在仓库里面的位置,其中library是 image 文件所在的组,hello-world是 image 文件的名字。image 文件是通用的,一台机器的 image 文件拷贝到另一台机器,照样可以使用。image 文件可以看作是容器的模板。由于 Docker 官方提供的 image 文件,都放在library组里面,所以它的是默认组,可以省略。(6)数据镜像,文件镜像(技术领域):在计算机或技术中,指一个文件、系统或存储设备的副本(通常是完整的)。原创 2025-01-13 22:42:17 · 788 阅读 · 0 评论 -
Docker入门篇[SpringBoot之Docker实战系列] - 第534篇
语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。中,当要将jar包部署到多台服务器的时候,那么每个环境都需要配置相同的运行的环境,如果有个运行环境要升级,那么多台服务器都要进行升级,这对于运维来说,非常的不友好。那么我们想象这么一个场景,是否有没有一种方式,可以把这个环境的信息,配置在一个配置文件中,然后根据这个配置文件配置的信息自动进行搭建环境。原创 2025-01-07 23:21:46 · 1247 阅读 · 0 评论 -
Suno V4 API 接入 – 最新的Suno模型,音质很炸裂
Suno V4 API,几分钟即可接入原创 2024-11-25 16:24:19 · 588 阅读 · 0 评论 -
Spring Boot实用小技巧10 - 第532篇
所谓的远程调试就是服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地 的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在本地知道 远程服务端的此时的内部状态。例如,确保某些属性的优先级高于 application.properties,或为特定的业务逻辑加载额外的配置源。· 推送到开发环境应该是比较靠谱的方案,但如果想调试只有日志大法,没有本地 debug 的效率高效。例如,强制要求配置 server.port 的值符合某个范围,否则应用无法启动。原创 2024-11-18 17:42:35 · 886 阅读 · 0 评论 -
Spring Boot实用小技巧9 - 第531篇
技巧一:控制具体的Bean在具体的环境中生效技巧二:使用数据压缩技术技巧三:....原创 2024-11-11 14:36:03 · 911 阅读 · 0 评论 -
Spring Boot实用小技巧8 - 第530篇
五》七》最近看到一个利用AI生成照片唱歌的视频,,如果多几个这样的不错的视频,那么账号不火都难。知道与不知道只隔着一次勇敢的尝试。在技术的领域里,那看似难以跨越的从不知到知的沟壑,或许就藏在一次代码的编写中。当你鼓起勇气,在键盘上敲下那一行行神秘的字符,去尝试实现一个新的功能,去探索一种未曾用过的算法,也许就在那瞬间,你捅破了那层阻隔你与新技术认知的薄纱。原创 2024-10-28 14:29:55 · 711 阅读 · 0 评论 -
Spring Boot实用小技巧7
讲解了这么久,一般上我们都是通过jar包的方式进行启动的应用的。在文章的末尾可以看到一个标签:#SpringBoot小技巧合集,点击进去就可以看到历史所有的小技巧篇章。对一些定时任务服务项目,其本身只是提供一个定时调度功能,不需要其他服务调用,只是去调度其他服务。两个大的方向,使用SpringBoot配置的方法,不使用SpringBoot配置的方法。在之前要做到这样的事情,一般人不敢想象,现在有了AI,自己也能成为歌唱家了!小技巧系列,再有个小几篇就结束了,接下来要写哪一个方向的,还是有点迷茫了。原创 2024-10-21 11:06:11 · 1039 阅读 · 0 评论 -
Spring Boot实用小技巧6 - 第528篇
在这里,Spring容器对于Bean的创建、初始化、销毁等生命周期进行了管理,但同时开放了BeanPostProcessor这种扩展点,让开发者可以在不修改Spring源码的情况下,实现对Spring Bean生命周期的自定义操作,这种设计理念大大提升了Spring的灵活性和可扩展性。重要的是,我们可以使用 Lombok 的 @RequiredArgsConstructor 注释来使用构造函数注入。但如果你使用 Lombok,它只是一行,你可以根据你的要求使用@Data、@Getter 或@Setter。原创 2024-10-14 14:40:51 · 690 阅读 · 0 评论 -
Spring Boot实用小技巧5 - 第527篇
SpringBoot支持异步处理,你可以使用@Async注解来异步执行方法,提升应用的性能和响应速度,这个是一个好功能,如果执行异步功能,一般我们都要自己开线程去执行异步任务,但是用异步注解可以由框架启动一个内嵌的异步任务执行我们的代码逻辑,这个相当优雅,有没有?如果在一个大型的项目中,包括了很多未开发模块,那么维护起来就非常的繁琐。Controller应该非常简单。对于基础的,技术人员大部分都懂,如果碰到一些特别的需求,一般就是在于一些小技巧就能够轻松解决,知道和不知道的差别就是技术方案上的不同。原创 2024-09-23 15:24:20 · 1118 阅读 · 0 评论 -
Spring Boot实用小技巧4 - 第526篇
一些小技巧在手,可以解决一些复杂的需求,所以一些小技巧平时自己也要多多总结,方能不乱于产品需求之中。原创 2024-09-10 10:34:31 · 1339 阅读 · 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 · 691 阅读 · 0 评论 -
SpringBoot多例模式,在同一个类中注入两次是否是同一个对象 – 一不小心就会写出一个重大BUG!! - 521篇
话说在五百年前的一篇文章中发起了一个投票,答案竟然这么出乎意料:这么一种投票结果,让我有点担忧,真的害怕在程序中,写了一个大大的bug出来。为了更清晰的进行讲解,我重新简单搭建了一个框架,Spring Boot版本选择的是 3.3.2,定义了一个和一个请求控制类MyController:至于MyService多例还不知道怎么编写的小伙伴,或者还不清楚什么是多例的,可以关注公众号「SpringBoot」,回复关键词「」进行查看。原创 2024-07-22 12:26:07 · 799 阅读 · 0 评论 -
SpringBoot开发的AI导航站技术架构剖析 —— 技术如何选型 - 第520篇
(1)前后端分离:这种架构的好处,就是后端只需要提供接口,不需要懂前端的技术,另外就是一旦展示方式或者要多个前端网站,后端接口都不需要动。(2)后端+前端代码:这种方式是需要后端的,导航站的信息数据都在后端进行管理和返回,前端只做页面的渲染。AI导航站整体的一个架构和开发还是不复杂的,博主在这里也这是把自己的一个思考过程和大家进行分享,在碰到技术的选型的时候要根据自身和团队的实际情况进行灵活的调整。(3)我希望我开发的不仅仅是AI导航站,而是一个通用的导航站,可以根据不同的域名,展示不同的导航站。原创 2024-07-15 11:34:51 · 1117 阅读 · 0 评论 -
SpringBoot 中多例模式的神秘世界:用法区别以及应用场景,最后的灵魂拷问会吗?- 第519篇
五》七》悟纤:师傅,你看看,我写了一个Redis的阻塞队列的通用服务,一开始一个开发接入我这个服务的时候,运行的很正常;当有另外一个开发也接入的时候,就会出现一些数据被另外一个改的现象。师傅:你这个应该是在服务当中定义了一些配置的属性,这些属性对于某个场景是不变的;当另外一个场景是其它的配置了。悟纤:师傅,不要这样子,感觉你就像我肚子里的蛔虫,怎么我还没告诉你,你就都不知道了。师傅:你这个不用是蛔虫,都能猜到,这里说明你对于Spring Boot有些知识还了解的不够透彻。原创 2024-07-08 15:28:52 · 1037 阅读 · 0 评论 -
Spring的SmartLifecycle可以没用过,但没听过就不好了! - 第517篇
最近在开发一个AI音乐项目(地址在下面)的时候,在使用队列的时候,想在程序启动和关闭的时候,对队列进行一些操作,一开始的时候@PostConstruct和@PreDestroy,但还是无法很好的进行关停,后面了解到SmartLifecycle,这个确实很好用。然而,在某些情况下,我们可能会遇到一些遗漏的场景,比如希望在容器本身的生命周期事件(如容器启动、停止)上执行一些操作,一个典型的例子就是在Spring Boot中启动内嵌的Web容器。在应用程序关闭时,可以优雅地停止定时任务的执行。原创 2024-06-17 16:29:13 · 1223 阅读 · 0 评论 -
一文讲清楚SpringBoot项目打包jar后运行报错template might not exist - 第514篇
解决Spring Boot项目线上部署时template not exist报错的几种常见方法。原创 2024-05-27 18:05:39 · 1314 阅读 · 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 · 1027 阅读 · 0 评论 -
国内最全的Spring Boot系列之七
一转眼马上要过年了,回首2023年,感觉自己无所事事、碌碌无为、一脸茫然,但总的还是有些事情可以记录一下…原创 2024-02-04 18:04:11 · 981 阅读 · 0 评论 -
SpringBoot集成MyBatis-Plus + MyBatis-Plus代码生成器[MP系列] - 第490篇
mybatis-plus也提供了相应的代码生成插件mybatis-plus-generator,这一节来看看如何通过 mybatis-plus-generator来生成代码。原创 2023-10-10 15:13:59 · 202 阅读 · 0 评论 -
模板文件导出Excel【EasyPoi实战系列】- 第478篇
Excel的样式是很复杂的,用代码生成Excel的方式对于处理比较复杂的样式,就有点爱莫能助。原创 2023-06-21 09:35:17 · 1261 阅读 · 1 评论 -
【EasyPoi实战系列】Spring Boot使用EasyPoi动态控制导出的列 - 第471篇
注解的导出,规定我们必须把model写好,并且注解写好,每次导出的Excel都是固定的,无法动态控制导出的列,虽然可以通过id来处理一个案例,但是自由度远远不够,本节介绍另外一种导出的方式,自由度十足。原创 2023-05-23 19:22:53 · 416 阅读 · 0 评论 -
【EasyPoi实战系列】Spring Boot使用EasyPoi的注解让表格更漂亮以及图片的导出 - 第468篇
(1)姓名单元格都快把你我挤坏了。(2)性别怎么能显示数字呢,不得显示对应的男/女吗?(3)图片显示的地址问题也不大,但是产品还是希望能够显示为图片呢。(4)出生日期格式也不友好呀。原创 2023-04-25 14:34:25 · 612 阅读 · 0 评论 -
【EasyPoi实战系列】Spring Boot集成EasyPoi - 第467篇
在项目的开发工程中,经常有导入导出数据的常见功能场景,Apache的POI是处理导入导出中最常用的,但是其原生的用法太复杂,很繁琐,总是在Copy… ,无意间发现一款简单粗暴的神器EasyPoi,EasyPoi也是基于POI的原创 2023-04-19 18:39:19 · 1650 阅读 · 0 评论 -
SpringBoot配置文件拆分 - 第466篇
Spring Boot可以外部化程序配置,以便可以在不同环境中使用相同的应用程序代码;当然Spring Boot可以将配置文件进行拆分,以便于激活不同的运行环境。可以在单个文件中区分多环境,也可以将单个文件拆分成多配置文件。原创 2023-04-12 09:43:34 · 190 阅读 · 0 评论 -
为什么ClassPathResource可以读取到流?- 第465篇
在之前有篇文章中《线上环境无法读取classpath下的txt文件?》中说到了解决这个问题的方式就是使用ClassPathResource和class.getResourceAsStream,那为什么这样的方式可以呢?又是什么原理呢原创 2023-04-04 19:02:27 · 812 阅读 · 0 评论 -
SpringBoot版的低代码开发平台,关联无 SQL - 第462篇
diboot设计目标: 为开发人员打造的低代码开发平台,将复杂的工作简单化、重复的工作自动化,提高质量、效率、可维护性。用上diboot,告别常规SQL和CRUD,写的更少,性能更好!原创 2023-03-06 17:24:18 · 686 阅读 · 0 评论 -
Idea启动多个SpringBoot项目的3种方案
IDEA提供了强大Dashboard功能(运行仪表盘), 可以很好的将上面的多应用启动实例进行管理,使我们配置的项目可视化,方便spring boot项目重新配置、Run、Debug,简化了我们的操作步骤。所以当你能够直面问题和困难的时候,你注定会成长。有时同一个服务要启动多份测试负载均衡,那我们不能傻傻的去复制多份吧,对于这个问题,有很多种方案,在这里通过深入浅出的讲解方式,希望打开大家的思考问题的思维方式。师傅:徒儿,你说的这是啥话,是放松,不是放纵,为师严重怀疑你的语文是xxx教的。原创 2023-02-27 19:30:29 · 5991 阅读 · 0 评论 -
国内最全的Spring Boot系列之六
2022年就这么过去了,闭上眼回首2022年发生的事情,犹如过眼云烟 —— 一事无成的感觉。2022年到底都发生了什么事情,坚持了什么?于是我闭上眼睛,认真的思考起来……原创 2023-01-16 16:59:08 · 637 阅读 · 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 · 1374 阅读 · 0 评论 -
SpringBoot3初体验 - 第457篇
虽然项目无法一下子就冒险升级到最新版本,但作为一名技术爱好者,还是要体验一下新的技术的。Spring Boot 3作为Spring Boot重大的一个版本,还是有必要有一个简单的了解的。原创 2023-01-02 19:15:16 · 2579 阅读 · 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 · 1443 阅读 · 2 评论 -
Spring的秒表StopWatch优雅的程序计时器 -第455篇
如果想知道一个方法的执行耗时时长,一般的思路是:记录开始时间,执行业务代码,记录结束时间,方法的耗时就等于=结束时间-开始时间。这种方式可以实现基本的统计需求,如果要统计各个任务的占比,那么代码的复杂度就会增加...原创 2022-12-19 16:39:43 · 1395 阅读 · 0 评论 -
SpringBoot中使用Spring-Retry重试框架 - 第454篇
在实际工作中,重处理是一个非常常见的场景。通常来说,会用try/catch,while循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码。原创 2022-12-13 10:09:03 · 857 阅读 · 0 评论 -
SpringBoot引入外部jar包,项目打包成war包发布(亲测有效) - 第453篇
将Spring Boot打包成war包,对于开发自己,可能都没有想过这个问题吧~需求都是来源于实际的,产品要求、技术领导要求、历史原因等等。原创 2022-12-05 17:26:31 · 976 阅读 · 0 评论 -
SpringBoot添加外部jar包及打包(亲测有效) - 第452篇
引入使用之后,编译以及在开发工具运行都是很正常的,但打完包之后,一运行就报错了,通常报错是Caused by: java.lang.ClassNotFoundException,所以这一节就来解决一下两个问题。原创 2022-11-29 09:37:35 · 670 阅读 · 1 评论 -
5个月的精华:Spring/SpringBoot扩展点手册:手册在手,编码无忧:全网独一份 - 第451篇
第一篇扩展点文章发表于2022-05-16,至今到这一篇文章耗时5个月左右一方面是总结之前的文章,本文主要是对于这系列的扩展点概念和实战做个汇总。对于Spring扩展点的系列文章,全网独有一份,绝对良心出品,如有雷同,请@我。原创 2022-11-21 21:00:30 · 907 阅读 · 0 评论