
SpringBoot
文章平均质量分 82
小毕超
人工智能、微服务架构领域专研者,国内软考高级系统架构设计师职称,国际TOGAF鉴定级企业架构设计师、PMP项目管理师,华为云·云享专家,CSDN博客专家。曾获“联想杯”移动互联比赛 江苏省一和国二成绩,第四届全国应用型人才比赛“兄弟连杯”国一成绩。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于 OpenObserve 的轻量级分布式日志存储和追踪方案
OpenObserve 是一个基于 Rust 开发的开源云原生可观察性平台,专为处理海量数据(如日志、指标和追踪数据)而设计,具有高性能、低成本和易用性等特点。原创 2025-05-31 10:00:00 · 838 阅读 · 0 评论 -
Spring AI 基于 RAG 构建本地知识库问答助手
Spring AI 提供了对 RAG(检索增强生成)的支持,通过向量检索增强技术,将本地私有化知识内容嵌入并存储到向量库中,作为知识库。当用户提问时,通过向量相似度检索召回相关知识,并将其作为上下文背景组装到 Prompt 中,从而增强大模型对私有知识的感知能力,减少幻觉。Spring AI 提供了多种文档读取器(如 JSON、PDF、Markdown 等)和文本拆分工具,并支持多种向量库。本文介绍了如何在 Spring Boot 项目中搭建 RAG 流程,使用 OpenAI 的 GPT-4.1 和 tex原创 2025-05-24 10:00:00 · 935 阅读 · 0 评论 -
Spring AI 本地直接运行 Onnx Embedding 模型,结合 Milvus 实现语义向量的存储和检索
本文介绍了如何将 Huggingface 的 Embedding 模型转换为 Onnx 格式,并在 Java 环境中通过 SpringAI 本地运行。首先,使用 optimum-cli 工具将模型转换为 Onnx 格式,该过程依赖 Python 环境。转换完成后,Java 端无需再依赖 Python 环境。接着,通过 SpringBoot 项目引入相关依赖,配置 TransformersEmbeddingModel 以直接运行 Onnx 格式的 Embedding 模型。这种方法使得 Java 应用能够独立原创 2025-05-17 10:00:00 · 801 阅读 · 0 评论 -
Spring AI + bge-large + Milvus 构建私有化语义内容检索方案
Spring AI是Spring官方社区项目,旨在简化Java AI应用开发,让Java开发者像使用Spring开发普通应用一样开发AI应用。本文基于Spring AI + bge-large + Milvus 构建私有化语义内容检索方案。原创 2025-04-26 08:00:00 · 1562 阅读 · 0 评论 -
Spring AI MCP Client + DeepSeek R1 搭建自定义可扩展的AI助手服务
MCP 由 Anthropic 推出的一种开放标准协议,旨在统一大模型(LLM)与外部数据源和工具之间的通信方式。通过 MCP 协议,开发者可以更高效地实现 AI 模型与外部资源的集成,从而提升应用的智能化和上下文感知能力。原创 2025-04-19 08:00:00 · 3104 阅读 · 7 评论 -
Spring Cloud Alibaba AI 介绍及使用
Spring Cloud Alibaba AI 是阿里以 Spring AI 为基础,并在此基础上提供阿里云通义系列大模型全面适配,让用户在 5 分钟内开发基于通义大模型的 Java AI 应用。原创 2024-07-10 19:20:24 · 1789 阅读 · 0 评论 -
Spring AI MCP Server + Cline 快速搭建一个数据库 ChatBi 助手
Spring AI MCP 是基于 Spring AI 集成扩展了 MCP Java SDK,让开发者在 Spring 体系下可以快速开发 MCP Server 端或 MCP Client 端。原创 2025-03-30 21:39:45 · 3384 阅读 · 1 评论 -
MInio + kkFileView 通用服务端在线文件文档预览方案
kkFileView 是一个基于 SpringBoot 开发的万能文件预览开源项目,允许用户在浏览器端实时查看文件内容。原创 2025-01-12 08:00:00 · 1152 阅读 · 0 评论 -
Spring ReflectionUtils 反射工具介绍和使用
Spring ReflectionUtils 反射工具介绍和使用原创 2024-02-25 17:25:41 · 1241 阅读 · 0 评论 -
Spring-Retry 重试框架使用
自带的功能,具备间隔重试、包含异常、排除异常、控制重试频率等特点,是项目开发中很实用的一种框架。支持手动调用方式和注解方式。注解实现重试的效果,通过。原创 2024-01-02 19:28:01 · 1339 阅读 · 1 评论 -
Graceful Response 构建 Spring Boot 下优雅的响应处理
当抛出异常时我们希望根据不同的异常返回不同的错误码,在中为我们提供了注解,可以快速的指定返回的错误码和提示。@ExceptionMapper(code = "1003", msg = "自定义异常", msgReplaceable = true)super();@Slf4j/*** 返回对象形式*///具体逻辑// ....// 抛出异常/*** Command 形式*///具体逻辑// ....// 抛出异常。原创 2024-01-02 17:07:52 · 2353 阅读 · 0 评论 -
Admin-UI分布式微服务监控中心
SpringBoot全局事件全局异常捕获@ControllerAdvicepublic class GlobalException { @ResponseBody @ExceptionHandler(Exception.class) public ResponseTemplate GlobException(Exception e, HttpServletResponse response){ System.out.println("错误:"+e.toStri原创 2020-07-19 12:17:37 · 2899 阅读 · 1 评论 -
mybatis-plus 使用 mybatis-plus-join 增强多表关联查询能力
`mybatis-plus` 原生的能力不支持多表关联,对于这种场景只能通过写`SQL`进行实现,而`mybatis-plus-join` 则是建立在 `mybatis-plus` 基础之上的扩展框架,可以在不影响原有能力之上通过简单的`API`即可实现多表关联能力而无需编写`SQL`。原创 2023-10-31 19:04:28 · 4495 阅读 · 0 评论 -
SpringMVC 基于方法参数解析器自定义注入参数方案
在SpringMVCWeb项目开发中,我们可能需要经常获取一些公共的信息,比如用户信息、请求的Token等等,这种情况下我们可以封装一个工具类进行统一获取,也可以通过本篇文章讲解的方法参数解析器进行自动注入。例如:这里以User信息和Token为例 ,我们可以以下面这种方式注入到Controller层,其中业务开发人员无需关注数据从何而来,直接开箱使用即可:注解中也可以加上一些参数进行更灵活的注入信息。原创 2023-06-04 17:45:31 · 644 阅读 · 0 评论 -
Spring中使用Aop @DeclareParents 进行类功能增强
当我们已经完成了一个项目的某个阶段开发,此时需要对已完成的某个类加入一些新的方法,我们首先想到的是写一个接口,然后让这些需要方法的类实现此接口,但是如果目标类非常复杂,牵一发而动全身,改动的话可能非常麻烦。此时就可以使用此注解,然后建一个代理类,同时代理该类和目标类。(切面)功能提供一种组件,它可以在代理目标类上增加新的行为(新增新的方法)。使用时,支付接口可以转为增强接口,调用增强方法。使用代理将增强接口代理到支付接口。支付需要增强,创建一个增强接口。原创 2023-04-03 15:44:08 · 345 阅读 · 1 评论 -
基于 dynamic-datasource 实现 DB 多数据源及事物控制、读写分离、负载均衡解决方案
下面分别从 多数据源及事物控制、读写分离实现、负载均衡实现三个方面进行实践。可以注解在方法上或类上,同时存在就近原则 方法上注解 优先于 类上注解。注解即可,但是仅针对于单个数据源的情况,多数据源下我们可以使用。已经实现多数据源查询效果,下面继续事物的控制,应该都了解在。上面通过 mybatis 的拦截器实现了读写分离,同时。都需要添加注解,那我们可以是不是可以通过。针对于多数据源的切换推出了。从上面的步骤中,已经了解到了。可以看到明显的负载轮训效果了。的快速集成多数据源的启动器。原创 2022-08-21 17:34:44 · 3251 阅读 · 1 评论 -
基于 JSch 实现服务的自定义监控解决方案
JSch是SSH2的一个纯Java实现。它允许你连接到一个sshd服务器,使用端口转发,X11转发,文件传输等等。你可以将它的功能集成到你自己的 程序中。既然可以通过SSH连接到服务器,那就可以执行一些 命令 ,例如我们要监控一个服务是否正在运行,或者服务有无僵死,可以通过查看服务进程是否存在,访问接口是否正常来判断,如果不正常,我们可以通过JSch连接到该服务器中,执行重启的脚本。现在对于新的项目相信大家都已经放在k8s中部署了,在k8s。......原创 2022-08-07 15:55:19 · 1156 阅读 · 0 评论 -
基于 SSE 实现服务端消息主动推送解决方案
简单很多,服务器端和客户端工作量都要小很多、简单很多,同时实现的功能也要有局限。的简称,是一种服务器端到客户端(浏览器)的单项消息推送。的兼容性,多增加了一个接口和队列,因此在发布的时候,就需要同时向。的话我们就直接提供一个接口,每次都从队列中消费消息,这里以。客户端通过接口轮训的方式每次都从队列中消费消息,以实现。为例实现一个单机的队列,如果是分布式的可能就要考虑。相比于服务端,客户端就显得非常简单了,但也要考虑。类已经封装好了相关操作,可以方便的实现功能。启动服务端,首先演示SSE的效果,使用。....原创 2022-07-31 17:30:35 · 4083 阅读 · 8 评论 -
SpringBoot 使用 Minio 进行文件存储
是在过去4年的时间内从0开始打造的一款软件,符合一切原生云计算的架构和构建过程,并且包含最新的云计算的全新的技术和概念。强有力的支持和驱动了很多世界500强的企业。此外,其部署的多样性和专业性提供了其他软件无法比拟的优势。存储桶类似于文件系统中的文件夹或目录,其中每个桶可以容纳任意数量的对象。、自由的创新和创造、自由的去修改、自由的再次发行新的版本和软件.确实,缩放器的来之不易的知识,为对象存储带来了简单的存储缩放模型,在。是全球领先的对象存储先锋,在标准硬件上,读/写速度上高达。...原创 2022-07-24 17:41:49 · 2377 阅读 · 0 评论 -
SpringBoot 集成 Swagger 文档及自定义访问路径
Swagger文档框架pom <!-- swagger 文档 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version>原创 2020-07-19 13:13:41 · 33833 阅读 · 1 评论 -
Spring Validation 验证框架全面总结
一、介绍Spring Validation 验证框架对参数的验证机制提供了@Validated (Spring’s JSR-303 规范,是标准 JSR-303 的一个变种),javax 提供了@Valid(标准 JSR-303 规范),配合 BindingResult 可以直接提供参数验证结果。其中对于字段的特定验证注解,比如 @NotNull。两者在检验 Controller 的入参是否符合规范时,使用@Validated 或者 @Valid 在基本验证功能上没有太多区别。但是在分组、注解地方、嵌套原创 2021-07-30 15:02:17 · 8305 阅读 · 3 评论 -
Springboot 使用AOP及全局事件
AOPAOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。SpringBoot中使用AOP@Aspectpublic class GlobAop { /*原创 2020-07-19 11:39:12 · 1141 阅读 · 0 评论 -
SpringBoot JWT+SpringSecurity权限管理,使用JSON交互
SpringBoot JWT+SpringSecurity权限管理,使用JSON交互什么是SpringSecuritySpring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功原创 2020-07-29 14:38:20 · 3418 阅读 · 1 评论 -
SpringBoot WebFlux响应式编程
SpringBoot WebFlux响应式编程简介Spring WebFlux是Spring Framework 5.0中引入的新的反应式Web框架。 与Spring MVC不同,它不需要Servlet API,完全异步和非阻塞, 并通过Reactor项目实现Reactive Streams规范。 并且可以在诸如Netty,Undertow和Servlet 3.1+容器的服务器上运行。Flux 和 Mono 是 Reactor 中的两个基本概念。Flux 表示的是包含 0 到 N 个元素的异步序列。原创 2020-07-19 19:08:52 · 1172 阅读 · 0 评论 -
线程池讲解及SpringBoot配置线程池&定时任务
SpringBoot 异步任务&定时任务异步任务@Component@Asyncpublic class AsyncTask { public Future<String> task4() throws InterruptedException{ long begin = System.currentTimeMillis(); Thread.sleep(2000L); long end = System.currentTimeMillis(); System.o原创 2020-07-19 13:17:45 · 3758 阅读 · 0 评论 -
SpringBoot 使用OKhttp
SpringBoot 使用OKhttppom <!-- Okhttp --> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.6.0</version>原创 2020-07-19 12:38:02 · 6306 阅读 · 1 评论 -
JWT的Token认证机制
JWTpom <!-- JWT --> <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.5.0</version> </dependency>原创 2020-07-19 12:19:30 · 3980 阅读 · 0 评论 -
SpringBoot多文件上传,文件下载
SpringBoot多文件上传文件上传@PostMapping("/fileUpload") public ResponseTemplate handleFormUploadFile(@RequestParam("uploadfile") List<MultipartFile> uploadfile, HttpServletRequest request) { if (!原创 2020-07-19 12:16:07 · 1037 阅读 · 0 评论