
sprintboot
文章平均质量分 92
苍煜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用 Spring 注入 Map 实现策略模式-一个接口多个实现(附完整示例)
策略模式是一种行为设计模式,它允许定义一系列算法,并将每个算法封装起来,使它们可以互换使用。通俗点说:我们有一组“相似”的处理实现类,通过传入不同的参数,动态选择其中某一个实现类来执行。优势描述✅ 简洁易维护不需要硬编码 switch-case 或 if-else 判断✅ 可扩展性强新增策略只需添加新实现类,无需改动已有代码✅ 高内聚低耦合所有策略统一管理,解耦业务逻辑与实现细节✅ 强类型安全推荐结合枚举使用,避免字符串拼写错误。原创 2025-05-22 11:00:19 · 855 阅读 · 0 评论 -
RuoYi 中使用 PageUtils.startPage() 实现分页查询的完整解析
PageHelper 是一个为 MyBatis 提供分页功能的第三方插件。它通过 ThreadLocal 存储当前线程的分页参数,并在执行下一条查询语句时动态生成带LIMIT的 SQL,同时生成统计总数的 SQL。原因说明PageHelper 的 ThreadLocal 缓存机制即使返回的是 List,分页信息仍被缓存PageInfo 工具类自动读取缓存能正确获取 total、pageNum、pageSize 等信息RuoYi 的封装设计。原创 2025-05-12 16:42:22 · 1210 阅读 · 0 评论 -
SpringBoot项目部署之启动脚本
【代码】SpringBoot项目部署之启动脚本。原创 2025-04-10 21:01:27 · 736 阅读 · 0 评论 -
系统架构演变历史及集群、分布式、微服务、SOA的概念区别
分布式,顾名思义就是将服务拆分成不同的部署单元并部署在不同的机器上,一个服务可能负责几个功能,且各分开部署的部分彼此通过各种通讯协议交互信息。通过分布式架构,可以解决前面介绍单体架构提到的 项目不断变庞大时产生的各种不利于系统长期稳定发展的问题,包括代码质量、开发效率、系统可靠性和扩展性等,但是分布式在解决单体架构中的问题的同时,也引进了其他问题,比如:(1)系统间耦合度变高,调用关系错综复杂,难以维护。...原创 2022-09-01 17:28:08 · 3603 阅读 · 0 评论 -
一文详细说明spring cloud和Spring Cloud Alibaba的各自组件以及联系和区别
我们通过对springboot的使用,就知道,spring从来不是重复造轮子,而是对现有技术的封装和维护,举个简单例子,比如最早spring只提供了IOC和AOP的核心功能,而像ORM框架、缓存、MVC框架,spring只是提供了一种兼容以及支持,所以当时大家说spring是万能胶,可以把各种各样的框架整合进来。同理,springcloud也不是自己开发组件,他也不是一个框架,因为Spring Cloud的核心并没有实现服务注册、熔断、配置中心等功能,它提供了一个标准规范。原创 2022-09-01 19:45:20 · 23364 阅读 · 0 评论 -
swagger全部注解,附swagger2和swagger3的注解区别
注解作用常用属性示例代码@Api标记一个类是 API 的入口点,描述整个控制器的功能。tags:API 分组:API 描述信息java @Api(tags = "用户管理", description = "用户相关的操作") @RestController public class UserController { }描述一个方法的功能(如 GET、POST 请求)。value:方法简短描述notes:方法详细描述response:返回值类型。原创 2025-03-18 14:07:34 · 1503 阅读 · 0 评论 -
Springdoc 全部注解一文解释清楚
以下是springdoc注解作用@Tag为控制器或方法分组,便于组织和分类 API。@Operation描述 API 方法的功能。描述单个响应结果。@Parameter描述方法参数的含义。@Schema描述实体类或字段的信息。@Hidden隐藏某个类、方法或参数,不包含在生成的文档中。全局配置 OpenAPI 文档的元信息(标题、版本、描述等)。原创 2025-03-18 14:02:11 · 2215 阅读 · 0 评论 -
Springdoc配置参数详解
默认值:无示例效果Swagger UI 将加载自定义配置文件。作用:禁用 API 文档的缓存。默认值false效果每次请求都会重新生成 OpenAPI 文档。示例作用:通过 Java 配置类自定义 OpenAPI 对象。示例:@Bean.title("用户管理系统").description("用户管理相关的 API 文档")).addServersItem(new Server().url("http://localhost:8080").description("本地开发环境"));原创 2025-03-18 13:59:03 · 1599 阅读 · 0 评论 -
SpringBoot之如何集成SpringDoc最详细文档
默认值:无示例效果Swagger UI 将加载自定义配置文件。作用:禁用 API 文档的缓存。默认值false效果每次请求都会重新生成 OpenAPI 文档。示例以下是springdoc类别参数作用基础配置配置 API 文档路径、Swagger UI 路径及启用状态。全局元信息设置 API 文档的标题、描述、版本等基本信息。分组与模块化支持分组、限制扫描范围、排除特定路径。安全配置定义全局安全方案和要求。自定义行为控制缓存、参数对象展平、服务器地址等高级功能。高级配置。原创 2025-03-18 13:54:04 · 1127 阅读 · 0 评论 -
Spring Framework 的版本历史和JDK、Springboot对应关系
Spring从最初的一城一池,发展到如今已经发展为一个生态帝国,旗下拥有诸多的子项目,从最基本的Spring Ioc/AOP使用,到安全管理,再到 大数据,Spring已经逐渐的渗入到各个领域。原创 2024-11-22 17:41:31 · 4161 阅读 · 0 评论 -
SpringBoot项目部署时application.yml文件的加载优先级
多层级配置文件间的属性采用叠加并覆盖的形式作用于程序。如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。先后加载顺序:若application 和bootstrap 在同一目录下:bootstrap先加载 application后加载。原创 2024-08-19 18:22:40 · 2320 阅读 · 0 评论 -
SpringBoot测试类注入Bean失败的原因
针对SpringBoot的测试类,2.2版本之前和之后是不一样的。原创 2024-07-07 11:47:30 · 1541 阅读 · 0 评论 -
springboot-用dynamic-datasource-spring-boot-starter配置druid多数据源
在application.yml中配置xml扫描的路径和对应的其他配置。在项目中访问两个数据库,分别打印出来两个数据库的数据信息。主要的包是:苞米豆的dynamic的多数据源配置包。在主程序中配置扫描Mapper接口类的位置。原创 2022-10-14 18:54:45 · 6420 阅读 · 0 评论 -
SpringBoot、SpringCloud、SpringCloudAlibab对应版本选择
为了避免SpringCloud版本号与子项目版本号混淆,SpringCloud版本采用了名称而非版本号的命名,这些版本的名字采用了伦敦地铁站的名字,根据字母表的顺序来对应版本时间顺序。我们已经选择好了springcloud和boot的版本,如果我们要加入springcloudalibab框架,也要重新考虑alibab框架的版本号,不过好在alibaba是阿里开源的,api也是中文的,非常容易看懂。有的朋友就说了,boot最新版本是2.7.3,cloud最新版本是2021.0.3,那是不是就这样选就可以了,原创 2022-09-01 20:57:12 · 11959 阅读 · 2 评论 -
springboot-优美的Knife4j文档-Swagger进化
一般在使用 Spring Boot 开发前后端分离项目的时候,都会用到 Swagger。Swagger 是一个规范和完整的框架,用于生成、描述、调试和可视化 RESTful 风格的 Web API 服务框架。但随着系统功能的不断增加,接口数量的爆炸式增长,Swagger 的使用体验就会变得越来越差,比如请求参数为 JSON 的时候没办法格式化,返回结果没办法折叠,还有就是没有提供搜索功能。刚好最近发现 Knife4j 弥补了这些不足,赋予了 Swagger 更强的生命力,于是就来给大家安利一波。...原创 2022-08-26 11:29:51 · 950 阅读 · 0 评论 -
springboot中在普通类中获取ioc中的bean
当我们在sprinboot使用的过程中;可能存在普通类中获取ioc中bean的情况;那么我们应该如何过去bean呢;首先@Autowired不可用;因为想要使用@Autowired必须该调用类也在组件中; 我们可以利用springboot提供的ApplicationContextAware接口来获取写一个获取bean的工具类package com.wkl.springboot;import org.springframework.beans.BeansException;import原创 2020-07-28 10:19:08 · 1124 阅读 · 0 评论 -
SpringBoot零基础详解八:自定义starter
八:自定义starter1:starter的原理和必要的概念1、这个场景需要使用到的依赖是什么?2、如何编写自动配置@Configuration //指定这个类是一个配置类@ConditionalOnXXX //在指定条件成立的情况下自动配置类生效@AutoConfigureAfter //指定自动配置类的顺序@Bean //给容器中添加组件@ConfigurationPropertie结合相关xxxProperties类来绑定相关的配置@EnableConfig...原创 2020-06-07 19:10:23 · 177 阅读 · 0 评论 -
SpringBoot零基础详解七:SpringBoot启动配置原理
Table of Contents七:SpringBoot启动配置原理1、创建SpringApplication对象2、运行run方法3、事件监听机制七:SpringBoot启动配置原理几个重要的事件回调机制配置在META-INF/spring.factoriesApplicationContextInitializerSpringApplicationRunListener只需要放在ioc容器中ApplicationRunnerCommandLi..原创 2020-06-07 16:19:07 · 181 阅读 · 0 评论 -
SpringBoot零基础详解六:SpringBoot与数据访问
六:SpringBoot与数据访问原创 2020-06-02 17:17:09 · 695 阅读 · 1 评论 -
SpringBoot零基础详解五:Docker镜像使用和安装
五:Docker1、简介Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。镜像的原理:2、Docker的核心概念docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);docker客户端(Client):连接docker主机进行操作;docker仓库(原创 2020-05-31 23:55:26 · 390 阅读 · 0 评论 -
SpringBoot零基础详解四 :web开发及原理
四:WEB开发1:web开发简介使用SpringBoot;1)、创建SpringBoot应用,选中我们需要的模块;2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3)、自己编写业务代码;自动配置原理?这个场景SpringBoot帮我们配置了什么?能不能修改?能修改哪些配置?能不能扩展?xxxxxxxAutoConfiguration:帮我们给容器中自动配置组件;xxxxProperties:配置类来封装配置文件的内容;原创 2020-05-31 11:44:15 · 756 阅读 · 0 评论 -
SpringBoot零基础详解三:springboot的日志使用及原理
Table of Contents三:SpringBoot与日志1:日志框架2:SLF4j使用2.1、如何在系统中使用SLF4j(官方网址:https://www.slf4j.org)2.2:统一日志记录,即使是别的框架和我一起统一使用slf4j进行输出3、SpringBoot日志关系4:日志的使用4.1:默认配置使用4.2:指定配置---使用自己的日志文件代替spring默认的日志配置5:切换日志框架5.1:变成slf4j+log4j的方式;5.2:切.原创 2020-06-05 13:43:28 · 402 阅读 · 0 评论 -
SpringBoot零基础详解二:配置文件application及自动配置原理
Table of Contents二:配置文件1:application配置文件1.1 :SpringBoot使用一个全局的配置文件,配置文件名是固定的;1.2:配置文件的作用:修改SpringBoot自动配置的默认值(SpringBoot在底层都给我们自动配置好的默认值);1.3:标记语言比较 YMAL和XML:1.4:同级别配置项,properties配置级别高2:YMAL语法2.1:基本语法:2.2:字面量:普通的值(数字,字符串,布尔)2.3:对象、Ma.原创 2020-06-05 13:42:39 · 15154 阅读 · 1 评论 -
SpringBoot零基础详解一 :springboot快速创建项目及原理
一:springboot入门程序1:SpringBoot Helloword-一个简单地SpringBoot程序1.1 :创建一个maven工程1.2:导入SpringBoot的依赖 <parent> <groupId>org.springframework.boot</groupId> <artif...原创 2020-03-30 18:18:34 · 506 阅读 · 0 评论