
SpringBoot
文章平均质量分 85
JackieZhengChina
70'码农,CSDN博客专家,信息系统项目管理师,工商管理硕士,CZB政采评审专家,中国采购与招标专家库专家,自驾爱好者,近20年教育类产品研发及管理经历,曾任教育科技公司联合创始人兼产品VP、科技公司产研VP。
职业标签:产品、项目、技术、运营、管理、战略。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SpringBoot新技能:零停机更新代码
在个人或者企业服务器上,总归有要更新代码的时候,普通的做法必须先终止原来进程,因为新进程和老进程端口是一个,新进程在启动时候,必定会出现端口占用的情况,但是,还有黑科技可以让两个SpringBoot进程真正的共用同一个端口,这是另一种解决办法,我们下回分解。那么就会出现一个问题,一种简单办法是,新代码先用其他端口启动,启动完毕后,更改nginx的转发地址,nginx重启非常快,这样就避免了大量的用户访问失败,最后终止老进程就可以。原创 2024-09-15 10:39:41 · 863 阅读 · 0 评论 -
如何在 Spring Boot 中创建自定义注解简化重复编码
定义一个自定义注解,用于标记错误处理方法。创建自定义注解的第一步是使用@interface关键字进行声明。在这个例子中,我们创建的为ErrorHandler。接下来,需要提供关于代码的元数据,@Retention和@Target是两个重要的元素,它们定义了这些注解可以在何处可用以及如何使用。在我们的 ErrorHandler 注解中,使用了 @Retention(RetentionPolicy.RUNTIME)。原创 2024-08-28 16:09:29 · 665 阅读 · 0 评论 -
Spring Boot工具类一览
今天给大家说说Spring Boot的自带工具类。Spring Boot作为一个快速开发框架,其自带的工具类是开发过程中不可或缺的一部分。这些工具类的高效和实用性,能够大大提高开发人员的工作效率。在本文中,我们将重点介绍Spring Boot自带的工具类,帮助开发者更好地利用它们,提高开发效率。原创 2024-08-23 13:21:32 · 497 阅读 · 0 评论 -
彻底告别 Controller、Service、Dao,让人上瘾的开发神器
"Rocket-API" 基于 SpringBoot 的 API 敏捷开发框架,服务端50%以上的功能只需要写SQL或者 mongodb原始执行脚本就能完成开发,另外30%也在不停的完善公共组件,比如文件上传,下载,导出,预览,分页等等通过一二行代码也能完成开发,剩下的20%也能依赖于动态编译技术生成class的形式,不需要发布部署,不需要重启来实现研发团队的快速编码,提测以及回归。实现了服务端研发效率300%-500%的提升,人力成本减少了3倍。原创 2024-08-17 09:47:26 · 754 阅读 · 0 评论 -
推荐几个后台管理模版
最近因为因为项目的原因,一直在寻找一款合适的前端模版,之前的 Vue 前端页面都是自己写的,写多了就烦了,因为功能都差不多,写来写去就没意思了。所以在新项目中想看看市面上的 Vue 后台管理模版,找个现成的,改一改基本就 OK 了,团队也省事一些。老实说,Vue 的生态还是相当丰富的,经典的、新生的后台管理框架都有,我这里和大家分享我们这次重点比较的三个。原创 2024-08-15 14:16:57 · 4054 阅读 · 0 评论 -
一套万能的异步处理方案!
良好的系统设计必须要做到开闭原则,随着业务的不断迭代更新,核心代码也会被不断改动,出错的概率也会大大增加。但是大部分增加的功能都是在扩展原有的功能,既要保证性能又要保证质量,我们往往都会使用异步线程池来处理,然而却增加了很多不确定性因素。就算事务提交了,异步策略解析失败了,我们还有兜底方案执行(除非数据库有问题,消息队列有问题,方法有bug)无侵入设计,独立数据库,独立定时任务,独立消息队列,独立人工执行界面(统一登录认证)如果你的方法正在运行事务,会等事务提交后或回滚后再处理事件。kafka 消息队列。原创 2024-08-13 11:29:31 · 318 阅读 · 0 评论 -
14个SpringBoot优化小妙招
以上就是14个SpringBoot相关的优化小妙招,希望它们能让你的代码不仅跑得快,还写得像首诗一样美。SpringBoot的强大之处不仅仅在于它的简洁和易用,更在于它背后的一套完整的生态体系。掌握这些优化技巧,你将能更加高效地开发SpringBoot应用,享受编码的乐趣。来源: 石杉的架构笔记。原创 2024-08-13 11:08:24 · 1167 阅读 · 0 评论 -
Spring Boot :四大神器之Actuator
Spring Boot有四大神器,分别是auto-configuration、starters、cli、actuator,本文主要讲actuator。actuator是spring boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计等。原创 2024-08-12 09:13:58 · 695 阅读 · 0 评论 -
Spring Boot :四大神器之Starter
Spring Boot有四大神器,分别是auto-configuration、starters、cli、actuator。依赖管理是任何复杂项目的关键方面。手动完成这些操作并不理想;你花在它上面的时间越多,你在项目的其他重要方面所花费的时间就越少。构建Spring Boot启动器是为了解决这个问题。StarterPOM是一组方便的依赖描述符,您可以在应用程序中包含这些描述符。您可以获得所需的所有Spring和相关技术的一站式服务,而无需搜索示例代码,并复制粘贴依赖描述符。原创 2024-08-12 09:12:38 · 1153 阅读 · 0 评论 -
[转]Spring Boot:四大神器之CLI
Spring Boot有四大神器,分别是auto-configuration、starters、cli、actuator。Spring boot CLI是运行spring boot命令的命令行界面。Spring提供了用于创建、运行和测试spring boot应用程序的spring命令。Spring boot CLI应用程序使用groovy语言,通过这种方式,我们用最少的代码行创建我们的应用程序并启动它。Spring Boot CLI 为Spring Cloud 提供了Spring Boot 命令行功能。原创 2024-08-12 09:11:07 · 519 阅读 · 0 评论 -
Spring Boot:四大神器之Auto Configuration
Spring Boot非常简单容易上手,它隐藏了很多内容而不需要你去关心。但对于一个好的开发人员也许希望知道Spring Boot自动配置背后到底发生了什么?Spring Boot并不属于一种新的技术,只不过Spring Boot的启动器帮我们配置了若干个被Spring管理的bean,当我们的项目依赖这些jar并启动Spring应用时,Spring的Container容器已经把jar包下的对象加以创建及管理了。原创 2024-08-12 09:07:46 · 1021 阅读 · 0 评论 -
SpringBoot集成RocketMQ消息队列
RocketMQ是阿里巴巴2016年MQ中间件,使用Java语言开发,RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。能够保证严格的消息顺序提供丰富的消息拉取模式高效的订阅者水平扩展能力实时的消息订阅机制亿级消息堆积能力为什么要使用MQ。原创 2024-08-01 09:50:24 · 969 阅读 · 0 评论 -
Springboot快速整合MQ
Work queues,也被称为(Task queues),任务模型。简单来说就是**让多个消费者绑定到一个队列,共同消费队列中的消息。当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。此时就可以使用work 模型,多个消费者共同处理消息处理,速度就能大大提高了。原创 2024-08-01 09:16:41 · 1137 阅读 · 0 评论 -
Spring Boot + MinIO 实现文件切片极速上传技术
文件切片上传是指将大文件分割成小的片段,然后通过多个请求并行上传这些片段,最终在服务器端将这些片段合并还原为完整的文件。这种方式有助于规避一些上传过程中的问题,如网络不稳定、上传中断等,并能提高上传速度。通过本文,我们深入了解了如何使用Spring Boot和MinIO实现文件切片上传技术。通过文件切片上传,我们能够提高文件上传的速度,优化用户体验。在实际应用中,我们可以根据需求进行性能优化和功能拓展,使得文件上传系统更加强大和可靠。原创 2024-06-29 09:03:29 · 1144 阅读 · 0 评论 -
Springboot中使用Actuator监控项目
在企业应用中除了要了解Spring Boot业务的单元测试、集成测试等功能使用外,在上线之后还需要对线上应用的各项指标(比如,CPU利用率、内存利用率、数据库连接是否正常、用户请求数据等)进行监控和运维。在传统项目中,这些监控和运维往往需要借助其他第三方的工具实现,而在Spring Boot中提供了spring-boot-actuator模块,对于小型项目够用了,可以通过http、jmx、ssh、telnet等形式来监控和管理生产环境。转载 2024-05-31 18:03:43 · 1445 阅读 · 0 评论 -
Spring Boot中的 6 种API请求参数读取方式
注解用来加载请求头中的数据,一般在业务系统中不太使用,但在基础设施的建设中会比较常用,比如传递分布式系统的TraceID等。用法也很简单,比如,假设我们将鉴权数据存在http请求头中,那么就可以像下面这样用。这也是最常用的一个注解,用来加载POST/PUT请求的复杂请求体(也叫:payload)。比如,客户端需要提交一个复杂数据的时候,就要将这些数据放到请求体中,然后服务端用。此时,服务端读取Cookie数据的时候,就可以像下面这样用。这是RESTful风格API中常用的注解,用来加载URL路径中的参数。原创 2024-06-24 10:55:18 · 431 阅读 · 0 评论 -
微服务框架
单体架构特点?简单方便,高度耦合,扩展性差,适合小型项目。例如: 学生管理系统分布式架构特点?松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝微服务:一种良好的分布式架构方案优点: 拆分粒度更小、服务更独立、耦合度更低缺点:架构非常复杂,运维、监控、部署难度提高方式一是配置文件,feign.client.config.xxx.loggerLevel如果xxx是default则代表全局如果xxx是服务名称,例如userservice则代表某服务。原创 2024-06-11 20:10:30 · 1680 阅读 · 0 评论 -
支撑每秒 600 万订单无压力,SpringBoot + Disruptor 太猛了!
Disruptor 是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于 Disruptor 开发的系统单线程能支撑每秒 600 万订单,2010 年在 QCon 演讲后,获得了业界关注。Disruptor是一个开源的Java框架,它被设计用于在生产者—消费者(producer-consumer problem,简称PCP)问题上获得尽量高的吞吐量(TPS)和尽量低的延迟。原创 2024-06-18 09:01:24 · 406 阅读 · 0 评论 -
Spring纯注解开发
Spring3.0引入了纯注解开发的模式,框架的诞生是为了简化开发,那注解开发就是简化再简化。Spring的特性在整合MyBatis方面体现的淋漓尽致哦注解开发前,配置Bean时是在xml里将class分别写在Bean标签里,然后起id,就像这样注解开发后,配置Bean时首先将xml里的标签删掉,然后在类上添加@Component注解即可在xml文件中来写一个扫描包的注解标签,对象就装进IOC容器里了component-scan:component意为组件,scan意为扫描。原创 2024-07-18 16:02:28 · 964 阅读 · 0 评论 -
SpringBoot全局异常处理的三种方式
在本文中,我们介绍了 SpringBoot 中三种处理异常的方式,分别是使用@ControllerAdvice 注解、@ExceptionHandler 注解和 HandlerExceptionResolver 接口。这些方式各有优缺点,开发者可以根据自己的需求选择适合自己的方式来处理异常。作者:吾日三省吾码来源:CSDN原文:https://blog.csdn.net/Dc253061007/article/details/131100724。原创 2024-05-26 17:44:11 · 746 阅读 · 0 评论 -
一张长图透彻理解SpringBoot 启动原理,架构师必备知识
下图代码说明了,Spring在初始化全部 单例Bean以后,会执行 SmartInitializingSingleton 接口。SpringBoot 会在Spring完全启动完成后,才开启Http流量。应该在Spring启动完成后开启入口流量。Rpc和 MQ流量 也应该如此,所以建议大家 在 SmartLifecype 或者 ContextRefreshedEvent 等位置 注册服务,开启流量。例如 Spring CloudEureka服务发现组件,就是在 SmartLifecype中注册服务的!原创 2024-05-26 15:35:53 · 937 阅读 · 0 评论 -
Error resolving template [addUser], template might not exist解决方法
原文:https://blog.csdn.net/qq_45873768/article/details/105637983。@RestController是@ResponseBody和@Controller的组合这个注解。4.html文件是否存在templates目录下,若是存在自定义的目录下则需要配置。检查自己的resource标签中是否加入了以html为后缀的资源文件。版权声明:本文为作者原创文章,转载请附上博文链接!2.检查return中的字符串是否有错误。作者:成为想成为的人。转载 2024-05-26 09:27:12 · 228 阅读 · 0 评论 -
Spring Boot中的 6 种API请求参数读取方式
使用Spring Boot开发API的时候,读取请求参数是服务端编码中最基本的一项操作,Spring Boot中也提供了多种机制来满足不同的API设计要求。接下来,就通过本文,为大家总结6种常用的请求参数读取方式。如果你发现自己知道的不到6种,那么赶紧来查漏补缺一下。如果你知道的不止6种,那么告诉大家,一起互相学习一下吧~转载 2024-05-24 19:04:47 · 36 阅读 · 0 评论 -
SpringBoot的启动器——Spring-boot-starter介绍和常见启动器
Ø spring-boot-starter-jpa:支持 spring 以 jpa方式操作数据库的 jar 包的集合。 Ø spring-boot-starter-redis:支持 redis 键值存储的数据库操作。:支持全栈式的 web 开发,包括了 tomcat 和 springMVC 等 jar包。 Ø 相关依赖的自动导入。 Ø 相关环境的自动配置。原创 2024-05-09 19:36:13 · 2263 阅读 · 0 评论 -
把 Spring Boot 项目从 18.18M 瘦身到 0.18M,部署超级快!
SpringBoot部署起来虽然简单,如果服务器部署在公司内网,速度还行,但是如果部署在公网(阿里云等云服务器上),部署起来实在头疼:编译出来的 Jar 包很大,如果工程引入了许多开源组件(SpringCloud等),那就更大了。这个时候如果想要对线上运行工程有一些微调,则非常痛苦。转载 2024-05-01 08:58:35 · 36 阅读 · 0 评论 -
[转]SpringBoot中定义切面(
定义切面的具体实现。那么这里面就涉及到一个问题,空间(切哪里)和时间(什么时候切,在何时加入增加代码),空间我们已经知道了就是切入点中定义的方法,而什么时候切,则是连接点的概念,如下面实例中,通用日志处理(切面),@Pointcut规则中指明的方法即为切入点,@Before、@After是连接点,而下面的代码就是对应通知。面向切面编程则是指,对于一个我们已经封装好的类,我们可以在编译期间或在运行期间,对其进行切割,把立方体切开,在原有的方法里面添加(织入)一些新的代码,对原有的方法代码进行一次增强处理。转载 2024-04-16 16:31:51 · 34 阅读 · 0 评论