- 博客(87)
- 资源 (3)
- 收藏
- 关注
原创 流程架构的解耦与进化设计
本文探讨业务流程系统的耦合困境及解耦方案。传统流程设计中,业务逻辑与流程执行深度耦合,导致修改成本高、维护困难。提出三元解耦架构:收敛节点类型(4种核心)、外置流转规则、内聚循环执行引擎。通过层级架构设计(PUB/IND/TEN三级)实现通用与个性化的平衡,支持动态下跳规则、节点适用范围管控等特性。JSON配置规范作为核心中枢,严格定义节点标识、动态跳转等关键字段。该方案融合拓扑图思想,将静态结构转化为灵活执行业务流程,实现"结构稳定、业务灵活"的目标。
2025-11-06 17:44:23
744
原创 从 Tool Calling 到 MCP
大模型技术正向生产力工具转型,Tool Calling技术解决了模型联动外部能力的问题,而MCP协议则进一步统一了工具调用生态。本文系统梳理了两者的技术逻辑:Tool Calling通过结构化指令实现模型与外部工具的协同工作,MCP则构建了标准化的模型-工具-应用协同体系。重点解析了MCP的C/S架构实践,包括协议网关、元数据中心等核心组件,实现了工具热插拔、全链路管控等优势。两者的结合推动大模型应用从单点工具调用向复杂场景协同升级,为企业业务流程自动化提供了更高效、可控的解决方案。
2025-10-23 01:59:52
838
原创 LLM 与 RAG:AI 语言技术的核心搭档
本文介绍了AI语言技术的两大核心技术支柱——LLM(大语言模型)和RAG(检索增强生成)。LLM通过海量数据训练掌握语言能力,擅长自然语言生成但存在知识时效性不足等问题;RAG则通过检索外部知识库增强回答准确性,弥补LLM的不足。两者不是替代关系,而是互补协作:LLM提供核心生成能力,RAG确保事实准确性和知识更新。这种"LLM+RAG"的组合已成为当前AI应用的主流方案,既保留语言生成优势,又满足实际场景的可靠性需求。
2025-10-23 01:50:26
740
原创 RedisStack 简介
RedisStack 是 Redis 官方打包的增强版发行版,预装了向量检索、JSON 存储等核心模块,开箱即用。它基于 Redis 核心,通过 Redisearch、RedisVL 等模块支持向量检索、全文搜索等高级功能,适用于中小规模场景。相比普通 Redis,RedisStack 提供一站式解决方案,无需手动安装模块;相比专业向量数据库,它更轻量、易用,学习成本低,适合实时性要求高的应用,如智能客服、商品推荐等。但需注意单机向量规模建议控制在 100 万以内,并合理配置内存和持久化策略。RedisSt
2025-10-23 01:46:16
782
原创 读懂向量、文本向量化与向量数据库
AI世界的"数据语言体系"依赖于向量、文本向量化、向量维度优化和向量数据库四大核心技术。向量是将复杂事物转化为数字标签的基础工具;文本向量化通过词嵌入模型让AI理解语义;维度优化需平衡信息完整性和计算效率;向量数据库则能基于语义相似性快速检索。这套技术链让AI从机械匹配进化为语义理解,支撑了精准推荐、智能搜索等日常应用场景。掌握这一逻辑,就能理解AI如何通过数字语言实现"懂你"的交互体验。
2025-10-23 01:44:07
730
原创 持久化输出与 ChatMemory
AI 持久化输出与 ChatMemory 技术解析 AI 持久化输出和 ChatMemory 是智能对话系统的核心,分别解决数据长期存储和上下文管理问题。 持久化输出通过数据库、文件或向量存储实现对话记录的可追溯性,支持审计合规与数据分析。ChatMemory则动态管理对话历史,通过内存、数据库或混合存储优化上下文理解,结合摘要提取、向量检索等技术提升回复准确性。两者协同工作,确保对话连贯性,同时需平衡性能、隐私与多模态扩展等挑战。未来趋势包括异步优化、联邦学习及跨模态支持。
2025-10-21 16:23:09
812
原创 解析 Prompt 工程中的四大核心角色
摘要: Prompt工程通过系统角色(定义AI行为准则)、用户角色(明确需求输入)、工具角色(扩展AI能力)和响应处理角色(优化输出结果)四大核心角色协同工作,实现高效人机交互。系统角色设定AI身份与输出规范,用户角色传递需求与上下文,工具角色调用外部系统获取实时数据,响应处理角色优化最终输出。代码示例展示了Spring AI中如何实现角色分工,如法律助手角色定义、多轮对话上下文管理、天气API工具调用等,体现LLM应用的交互骨架与设计原则。 代码地址
2025-10-21 02:06:47
723
原创 Spring AI 简单调用
本文介绍了Spring AI的调用机制与技术实现,包括分层架构设计、模型客户端注册和配置绑定方法。详细解析了Ollama本地模型集成指南,对比了ChatClient与ChatModel的功能差异,并展示了流式输出的实现原理与性能优化策略。最后探讨了多模型共存与动态切换的配置方案,通过@Qualifier注解实现不同模型的灵活调用。全文涵盖了从基础配置到高级应用的完整技术方案。
2025-10-15 18:29:15
457
原创 深入 Spring 事件机制
摘要:Spring事件机制基于观察者模式,通过解耦业务模块实现间接通信。本文解析了其核心组件(事件、发布者、监听器、多播器)和同步/异步实现原理。同步机制依赖主线程执行监听逻辑,而异步改造通过配置线程池和自定义多播器实现任务并行处理。文章还介绍了使用@EventListener简化监听器实现的方法,并提供了代码示例展示完整事件流转逻辑。
2025-10-14 01:46:52
653
原创 深入 Spring 依赖注入底层原理
本文深入解析Spring依赖注入(DI)的核心机制,从底层组件到复杂场景实现。首先介绍了Spring DI的三大核心组件:DefaultListableBeanFactory、DependencyDescriptor和ResolvableType,它们是所有注入逻辑的基础。随后详细拆解了字段注入、延迟注入(ObjectFactory与@Lazy的区别)以及Optional注入的实现原理。在复杂场景部分,重点分析了数组/List注入的批量处理机制、通过ResolvableType解决泛型匹配问题,以及Appl
2025-10-13 19:06:22
657
原创 Spring 组件扫描底层:@Indexed 注解如何让大型项目启动提速 50%?
本文解析了Spring项目中@ComponentScan扫描性能瓶颈及@Indexed注解的优化原理。通过将运行期遍历类路径的耗时操作转为编译期生成索引文件(META-INF/spring.components),@Indexed可显著提升启动速度。核心在于ClassPathBeanDefinitionScanner优先读取索引,避免全量扫描。使用时需注意:索引自动生成不可手动修改、存在索引时严格按索引扫描、兼容依赖jar包的索引文件。该方案特别适合大型项目,能叠加提升模块扫描效率,但需确保所有组件正确标注
2025-10-13 09:10:36
971
原创 Spring @Value 注解底层原理
本文深入解析了Spring中@Value注解的底层工作机制,介绍了其四大核心组件:ContextAnnotationAutowireCandidateResolver负责提取表达式,Environment处理${}占位符,BeanExpressionResolver解析SpEL,TypeConverter完成类型转换。通过四个典型场景分析,包括环境变量解析、字面量转换、SpEL引用Bean和混合表达式处理,揭示了Spring处理@Value的固定流程:先解析${}再处理SpEL,最后进行类型转换。文章配有实
2025-10-13 09:10:13
979
原创 Spring 中 FactoryBean与 BeanPostProcessor 的深度解析
本文深入剖析了Spring框架中两个核心接口FactoryBean和BeanPostProcessor的工作原理与应用。FactoryBean作为Bean工厂接口,通过getObject()方法自定义Bean创建逻辑,支持单例/原型模式,在MyBatis等第三方库集成中发挥关键作用。BeanPostProcessor则作为Bean增强器,在Bean初始化前后插入统一逻辑,广泛应用于AOP代理、属性验证等场景。文章还特别分析了BeanPostProcessor对FactoryBean产物的特殊处理机制,帮助开
2025-10-13 09:09:40
977
原创 深入 Spring AOP 底层原理:从代理机制到方法增强边界
摘要: Spring AOP的核心机制是动态代理,通过JDK动态代理或CGLIB代理实现方法增强。代理对象与目标对象分离,依赖注入和初始化仅作用于目标对象,代理负责拦截和转发调用。增强存在局限性:final方法、static方法以及private方法无法被增强。开发中应避免直接访问代理字段,方法设计需避开增强禁区,自调用时可通过AopContext获取代理对象。理解代理机制与增强边界是掌握Spring AOP的关键。
2025-10-13 08:24:48
1152
原创 深入 Spring 条件化配置底层:从硬编码到通用注解的实现原理
Spring条件化配置是其核心特性,通过Condition接口、@Conditional注解和ConfigurationClassPostProcessor三大组件实现动态配置。基础版通过硬编码Condition判断类路径是否存在特定类(如Druid),决定配置是否生效;进阶版通过自定义@ConditionalOnClass注解和通用ClassExistenceCondition,实现灵活的条件判断。关键在于Spring会在解析配置类时执行Condition.matches()方法,根据结果决定是否跳过该配
2025-10-11 18:21:05
599
原创 Spring Boot自动配置:原理、利弊与实践指南
Spring Boot自动配置通过"约定优于配置"思想,基于@EnableAutoConfiguration注解、SpringFactoriesLoader机制和@Conditional条件注解三大支柱实现。它自动扫描依赖和环境,智能推断需求并配置组件,大幅简化开发流程。这种机制虽提升效率,但也存在调试复杂、灵活性受限等问题。理解其底层原理有助于开发者合理利用自动配置,在简化开发与保持控制权间取得平衡。
2025-10-10 18:01:37
976
2
原创 嵌入式 Tomcat 与 Spring MVC 集成
本文将深入解析Spring Boot内嵌Tomcat的启动原理与实现机制。文章从Tomcat核心架构切入,对比传统部署与嵌入式场景的差异,重点分析Tomcat实例创建、Connector配置、Context构建等关键步骤。通过代码示例揭示NIO2协议选择、Spring容器独立初始化、Servlet 3.0动态注册等核心技术点,最终阐明Tomcat启动流程与主线程保活机制。全文从代码实现到底层原理,系统性地拆解嵌入式Web应用的运行本质,帮助开发者深入理解Spring Boot内嵌服务器的技术实现。
2025-10-04 23:39:40
871
原创 深入理解 SPI:从定义到 Spring Boot 实践
本文深入解析了SPI(服务提供者接口)机制,重点对比了Java原生SPI和Spring SPI的实现差异。SPI通过接口定义与实现分离的机制,使系统能够在不修改源码的情况下灵活接入新服务实现。Java原生SPI基于ServiceLoader类实现,但存在强制加载所有实现类、不支持依赖注入等局限性。Spring SPI通过自定义SpringFactoriesLoader进行增强,优化了配置文件格式(spring.factories键值对)、支持按需加载和依赖注入,并与Spring环境深度集成。这两种SPI机制
2025-09-29 17:14:14
1334
2
原创 Spring Boot 核心启动机制与配置原理剖析
本文深入剖析了Spring Boot自动配置的底层机制,重点解析了环境增强层的核心实现。通过EnvironmentPostProcessor接口,Spring Boot在环境初始化后动态添加配置源和功能,如加载application.properties和生成随机值。文章详细演示了基于事件驱动的后处理器执行链,包括SpringApplication实例创建、监听器注册、事件发布等关键步骤。同时提供了手动触发后处理器进行调试的方法,帮助开发者更深入理解Spring Boot启动流程的内部工作原理。
2025-09-29 16:01:57
840
原创 深入 Spring MVC 底层原理:从传统控制器到函数式编程与静态资源处理
本文深入剖析Spring MVC的核心架构与工作原理,从设计模式角度解析其三大组件(HandlerMapping、HandlerAdapter、Handler)的协作机制。文章首先介绍Spring MVC基于前端控制器和责任链模式的宏观架构,重点分析传统控制器模式中BeanNameUrlHandlerMapping的映射机制和SimpleControllerHandlerAdapter的适配逻辑,并对比了@Component和@Bean两种控制器注册方式的实现差异。随后探讨了函数式控制器模式,解析Route
2025-09-23 02:13:35
735
原创 深入 Spring Boot 异常处理底层机制
Spring Boot 异常处理机制解析 Spring Boot 异常处理遵循"异常捕获-规则匹配-响应生成"流程,涉及多个核心组件协同工作。DispatcherServlet捕获异常后,ExceptionHandlerExceptionResolver优先匹配局部@ExceptionHandler方法,未匹配时查找@ControllerAdvice全局处理器,最终由BasicErrorController兜底处理。关键组件包括负责错误页注册的ErrorPageRegistrar和收集错
2025-09-17 02:42:18
1326
2
原创 深入 Spring MVC:MessageConverter 与 ResponseBodyAdvice
Spring MVC中的HttpMessageConverter和ResponseBodyAdvice是两个关键组件:前者负责HTTP消息体与Java对象的双向转换(如JSON/XML),后者用于响应体增强。HttpMessageConverter通过canRead/canWrite判断类型支持,read/write方法实现转换。常用的MappingJackson2HttpMessageConverter支持JSON处理,MappingJackson2XmlHttpMessageConverter处理XML
2025-09-16 02:03:20
1094
原创 深入 Spring MVC 返回值处理器
本文深入剖析了Spring MVC返回值处理机制的核心原理与实现细节。主要内容包括: 核心组件解析:HandlerMethodReturnValueHandler接口、组合处理器、模型视图容器和消息转换器的协作机制 设计模式应用:策略模式与链模式的结合实现灵活扩展 完整工作流程:从容器初始化、方法执行到返回值处理和视图渲染的完整链路 典型处理场景:详细分析@ResponseBody和ModelAndView两种典型返回值的处理逻辑 文章通过组件职责说明、关键代码片段和流程图解,系统性地揭示了Spring M
2025-09-14 18:45:20
750
原创 深入 Spring MVC 底层:控制器方法执行流程与参数绑定原理解析
本文深入解析了Spring MVC框架的底层工作原理,从核心组件到执行流程全方位剖析。重点阐述了HandlerMethod作为控制器方法的元信息封装器,以及参数解析器、数据绑定工厂和模型容器这"三驾马车"的协同机制。通过模拟Spring上下文初始化和HTTP请求处理,还原了控制器方法从接收请求到返回响应的完整9步执行链路,包括初始化容器、查找处理器、参数绑定、方法执行等关键环节。文章穿透了Spring MVC的封装层,揭示了自动参数绑定和灵活响应处理背后的实现逻辑,为深入理解框架原理提供
2025-09-10 19:50:52
649
原创 Spring MVC 增强机制底层原理
Spring MVC 增强机制的核心是「全局复用、局部定制增强类型执行顺序优先级规则作用范围全局 → 局部局部覆盖全局(后执行)全局:所有控制器;局部:当前控制器全局 → 局部局部覆盖全局(后执行)全局:所有控制器;局部:当前控制器局部 → 全局 → 兜底局部优先(就近原则)全局:所有控制器;局部:当前控制器。
2025-09-10 03:05:03
566
原创 Spring MVC 类型转换与参数绑定:从架构到实战
摘要: Spring MVC通过一套分工明确的转换体系解决前后端数据格式差异问题,核心是ConversionService统筹管理Converter(单向转换)和Formatter(双向格式化),并兼容旧系统的PropertyEditor。组件注册流程由WebAppInitializer启动Servlet容器并初始化Spring上下文,ConversionConfig配置类负责将自定义转换器注册到FormattingConversionService,实现全局调用。该机制通过适配器模式无缝衔接新旧系统,高效
2025-09-09 02:02:31
768
原创 深入 Spring MVC 参数解析底层原理:从自定义实现到源码级剖析
本文深入解析了Spring MVC参数解析机制,从核心接口HandlerMethodArgumentResolver入手,剖析了参数解析的整体流程:请求映射→解析器匹配→参数解析→方法调用。通过自定义ArgumentResolver接口设计了支持组合模式的参数解析器,包含叶子解析器(如PathVariableResolver、RequestParamResolver)和组合解析器CompositeArgumentResolver。重点分析了路径变量和请求参数的底层提取逻辑,揭示了Spring如何将HTTP请
2025-09-07 03:49:59
868
原创 深入 Spring MVC 底层:从 DispatcherServlet 到自定义组件的全链路解析
Spring MVC核心架构解析 摘要:Spring MVC采用前端控制器模式,以DispatcherServlet为核心调度中心,配合九大策略组件实现请求处理全流程。其核心架构包含: DispatcherServlet - 请求分发中枢,初始化时加载九大组件 RequestMappingHandlerMapping - 实现请求到处理器的精准映射,支持多维度匹配条件 HandlerAdapter - 统一处理器调用方式,支持自定义参数解析 组件间协同工作形成完整的请求处理管道,设计上通过策略接口实现高度可
2025-09-04 13:19:20
867
原创 营销工作台整体设计-未来规划以及当前实现
本文档介绍了一个基于JSON模板和反射机制的合同管理系统设计方案。系统采用多租户架构,支持合同全生命周期管理,包括起草、审批、下达和履约等环节。核心设计思想是通过JSON模板配置业务逻辑,利用反射机制动态执行。系统架构分为表示层、业务逻辑层和数据层,包含模板解析引擎、反射执行器等核心模块。JSON模板规范定义了字段映射、验证机制和动态类加载等功能,支持自定义表单类型和复杂校验。系统通过反射和缓存优化实现高效执行,为合同管理提供了灵活的配置方案。
2025-09-02 01:31:39
745
原创 基于 Spring AMQP 的 RabbitMQ 分布式消息系统实战
RabbitMQ作为分布式系统的消息中间件,通过三种交换器模式(Direct精确路由、Fanout广播、Topic通配符匹配)实现服务解耦。本文介绍了RabbitMQ的核心组件(队列、交换器、绑定)和消息确认机制,并基于Spring AMQP演示了环境配置与消息流转实践。重点讲解了Direct模式下的持久化队列和交换器配置,以及Spring Boot如何集成RabbitMQ(包括依赖配置和连接参数),为构建可靠异步通信系统提供解决方案。
2025-08-28 13:00:04
1138
原创 业务扩展字段系统设计理念与流程图
摘要: 本文提出了一种动态可扩展的业务字段设计方案,采用元数据驱动架构实现字段动态配置与实时生效。通过主表+扩展表分离存储核心与动态字段,优化EAV模型并引入JSON字段支持复杂结构。系统采用策略模式+工厂模式实现字段类型扩展,包含元数据管理、动态校验流程和查询优化策略。设计特点包括:模块化架构、无代码热更新字段、多种存储引擎适配,并通过索引优化和混合查询保障性能。最终实现业务字段的高灵活性与高性能平衡。
2025-08-21 17:42:58
975
原创 服务降级方式
本文介绍了Dubbo与Nacos集成的服务降级实现方案。首先阐述了Dubbo内置的本地降级(通过mock类或直接返回值)和远程降级(服务端强制返回)两种机制。重点讲解了如何结合Nacos实现动态降级配置:在Nacos中存储降级规则,消费端通过配置中心实时获取并应用。文章还对比了降级与熔断的区别,并建议高并发场景可结合Sentinel等熔断框架,通过Nacos配置更精细的流量控制规则。该方案既能保障系统稳定性,又能实现配置的动态调整。
2025-08-12 19:21:31
835
原创 Dubbo容错机制
Dubbo与Nacos集成的分布式架构中构建了多层次的容错体系。Dubbo提供RPC层容错机制,包括6种内置集群策略(默认failover)、超时控制、重试机制和熔断降级。Nacos则通过注册中心高可用部署、本地缓存机制和动态配置能力增强基础设施容错。两者协同可应对服务节点故障、注册中心宕机等场景,通过本地缓存、集群策略和动态配置调整等实现"故障自动隔离、配置实时调整"的目标。实践时需根据业务特点选择合适容错策略,如读写操作分别适用failover和failfast策略。
2025-08-12 19:17:47
692
原创 RPC 解析
摘要: RPC(远程过程调用)是分布式系统中实现服务间高效通信的核心技术,通过动态代理、序列化、网络传输等组件,使远程调用如同本地方法。其工作流程包括客户端序列化请求、网络传输、服务端反序列化与执行、结果返回等步骤。关键技术涉及序列化协议(如Protobuf/JSON)、网络模型(NIO/HTTP2)、服务注册发现(ZooKeeper/Nacos)及熔断限流等治理能力。相比REST,RPC以二进制协议和长连接提升性能,适用于微服务高频调用场景(如gRPC/Dubbo)。选型需权衡性能、开发成本与跨语言支持,
2025-08-07 18:20:30
972
原创 Dubbo 基础知识
摘要: Dubbo是阿里巴巴开源的高性能分布式服务框架,专注于微服务架构中的服务治理与通信。核心功能包括透明化RPC调用、服务注册与发现、智能负载均衡与容错机制,以及服务治理能力如流量控制和可观测性。其架构分为控制面和数据面,支持多语言和云原生适配,适用于微服务拆分、高并发系统及异构集成等场景。Dubbo通过动态服务发现、高性能通信和精细化治理,解决了分布式系统中的服务治理复杂性,提升了系统的可维护性、扩展性和可用性。其轻量级设计和与Spring的无缝集成,使其成为构建云原生分布式系统的优选框架。
2025-08-06 17:20:03
2436
原创 完整的动态按钮配置系统
本文提出了一种基于策略模式的动态按钮管理系统,通过模块化设计实现按钮行为的灵活配置和实时更新。系统采用YAML/JSON配置驱动,核心包含配置解析器、上下文管理器、策略工厂、行为执行器和热加载监听器五大模块。策略工厂根据上下文动态生成显示和功能策略,行为执行器通过命令模式解耦操作,热加载机制支持配置实时生效。该系统具有高动态性、强扩展性和安全性,适用于多租户SaaS、流程向导和全球化应用等场景,有效解决了传统方案中配置与代码耦合、权限管理分散等问题。
2025-08-06 12:56:00
1020
原创 Spring AOP静态与动态通知的协作原理
摘要:本文深入解析Spring AOP核心架构与实现机制,重点分析代理创建流程、拦截器链构建原理和执行引擎。通过类图展示AnnotationAwareAspectJAutoProxyCreator等核心组件关系,详细解读代理创建7个关键步骤和拦截器链执行流程。对比静态通知与动态通知在匹配时机、执行效率等方面的差异,并提供性能调优建议,包括避免过度使用动态通知、利用拦截器链缓存机制等。文章包含核心代码实现和架构图,揭示Spring AOP底层运行机制。
2025-08-05 02:43:22
791
原创 多租户字典管理系统完整设计
本文介绍了一个多租户字典管理系统的数据库设计方案,包含核心表结构(租户表、字典类型表、字典数据表)和扩展表结构(字典扩展字段定义表、字典扩展字段值表、字典扩展字段历史表)。该系统支持多租户隔离、字典类型与数据管理、扩展字段定义以及变更历史记录等功能。数据库表设计采用主键自增、唯一约束、索引优化等手段,确保数据完整性和查询效率。领域模型部分展示了字典类型的Java实体类结构,体现了系统面向对象的设计思路。
2025-08-04 13:26:20
914
原创 消息顺序、消息重复问题
保证同Key进同一分区。M1 订单ID:001。M2 订单ID:001。Hash订单ID %3。Hash订单ID %3。防重:Redis+DB。防重:Redis+DB。消费者1-单线程消费。一致性Hash交换器。RabbitMQ集群。1. 带Key的消息。Hash Key路由。Hash Key路由。
2025-08-01 18:19:28
852
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅