自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术分析

兄弟,趁年轻、沉下心、好好弄

  • 博客(219)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式:代理模式

代理模式是一种结构型设计模式,通过代理对象控制对真实对象的访问,在调用前后添加额外逻辑(如日志、缓存、权限校验)。核心角色包括抽象主题、真实主题、代理对象和客户端。代理模式分为静态代理(编译期确定)和动态代理(运行时生成),后者是Spring AOP的基础。在无人售货柜项目中,代理模式应用于IoT设备通信(添加权限校验)、微服务接口(多租户隔离)和远程服务调用(封装网络请求)。与装饰者模式不同,代理模式侧重访问控制而非功能扩展。该模式实现了功能增强、细节隐藏和访问控制,是系统架构中的常用模式。

2025-12-29 11:12:47 954

原创 设计模式:工厂模式概要

本文系统介绍了工厂模式的三种实现方式及其在无人售货柜项目中的应用。简单工厂模式通过统一工厂类创建产品,适用于支付渠道等简单场景;工厂方法模式通过抽象工厂接口实现产品与工厂的一一对应,便于IoT设备扩展;抽象工厂模式支持创建成套产品族,适用于售货柜不同配置套餐。文章详细分析了各模式的实现步骤、适用场景和优缺点,并提出了项目落地建议:简单场景用简单工厂,频繁扩展用工厂方法,成套产品用抽象工厂。最后总结了工厂模式遵循的开闭原则、单一职责原则等核心设计思想。

2025-12-29 11:04:44 671

原创 设计模式:构建者模式-示例二

本文介绍了在复杂业务系统中使用建造者模式创建订单对象的实践方法。通过分析包含商品、支付、用户等信息的订单结构,展示了如何通过静态内部类实现建造者模式,包括定义辅助DTO、核心OrderDTO及其建造者的具体实现。该方法采用链式调用和final字段保证不可变性,在构建时自动计算总金额并进行数据校验。文章还结合芋道(Yudao)框架的实践,说明如何在企业级项目中应用该模式,并指出其提高代码可读性、灵活性和健壮性的优势,特别适合无人售货柜等复杂业务系统。

2025-12-29 10:34:40 863

原创 设计模式:实战概要

设计模式不是 “银弹”,而是解决特定问题的工具。掌握设计模式的关键,不是死记硬背代码结构,而是理解模式背后的设计思想——高内聚、低耦合、开闭原则,这样才能在面对复杂业务场景时,灵活选择合适的模式。

2025-12-29 10:26:33 892

原创 设计模式:建造者模式示例

建造者模式是一种创建型设计模式,通过将复杂对象的构建过程与表示分离,实现同一构建流程创建不同配置的产品。该模式包含四个核心角色:产品(如售货柜设备)、抽象建造者(定义构建接口)、具体建造者(实现具体构建)和指挥者(控制构建流程)。以无人售货柜为例,通过冷藏和常温两种具体建造者实现不同配置,指挥者统一控制构建顺序。适用于需要构建复杂对象且支持多种配置的场景,如汽车、电脑等产品的生产。该模式有效解耦了构建过程与表示,使客户端只需指定建造者即可获得所需产品。

2025-12-29 10:21:15 399

原创 设计模式:构建者模式

建造者模式是一种创建型设计模式,用于解决复杂对象的构建问题。核心思想是将对象的构建过程与表示分离,通过分步构建和链式调用实现灵活配置。模式包含产品类、抽象建造者、具体建造者和指挥者四个角色。实际开发中常用简化版,即静态内部类+链式调用方式,相比经典版更简洁。该模式特别适用于属性多、可选配置复杂的对象构建,能避免参数爆炸问题,确保对象完整性。使用时要进行参数校验,避免创建不完整对象,同时注意不要对简单对象过度使用。

2025-12-26 14:40:57 890

原创 设计模式:Spring MVC 中命令模式的核心映射与设计逻辑

SpringMVC是命令模式在Web框架中的经典实现,将HTTP请求处理封装为独立命令对象。DispatcherServlet作为调用者,通过HandlerMapping匹配具体命令(@Controller方法),由HandlerAdapter执行命令并调用Service层完成业务逻辑。该模式实现了请求触发与业务执行的彻底解耦,支持异步执行、拦截增强、统一异常处理等扩展功能。通过参数解析器和视图解析器实现标准化处理流程,使系统具备高度可扩展性和规范化特性,是设计高内聚、低耦合Web应用的核心架构模式。

2025-12-26 10:45:06 790

原创 设计模式:命令模式(Spring MVC中的实践)

本文深入分析了SpringMVC框架中命令模式的设计思想与实现方式。文章首先阐述了命令模式在SpringMVC中的核心映射关系,包括抽象命令(Handler接口)、具体命令(Controller类)、调用者(DispatcherServlet)和接收者(Service/DAO层)的对应关系。

2025-12-23 19:01:40 772

原创 设计模式:命令模式

命令模式是一种行为型设计模式,将请求封装为独立对象,实现发送者和执行者的解耦。其核心角色包括抽象命令、具体命令、调用者和接收者。典型应用场景如订单操作,通过命令对象绑定接收者和参数,调用者只需触发执行而无需了解具体实现。该模式支持扩展特性如命令撤销/重做、命令队列和宏命令组合。与策略模式不同,命令模式聚焦请求封装和解耦,而非算法切换。优点在于良好的解耦性和扩展性,但可能增加系统复杂度。适用于需要支持请求队列化、撤销或批量执行的场景,如Spring MVC框架中的请求处理机制。

2025-12-23 18:54:00 710

原创 设计模式:责任链模式(mybatis数据权限实现)

本文介绍了如何基于MyBatis责任链模式实现数据权限插件。主要内容包括:1)通过定义数据权限上下文存储用户权限信息;2)实现数据权限插件拦截SQL执行,动态拼接权限条件;3)配置插件加入责任链并设置执行顺序;4)在业务入口设置权限上下文。文章详细阐述了责任链的执行流程,分析了插件顺序、MetaObject等核心细节,并提供了多租户扩展和SQL解析优化方案。该方案实现了数据权限与业务代码的解耦,具有灵活扩展、无侵入等特点,是统一数据权限控制的理想解决方案。

2025-12-23 18:48:07 1020

原创 设计模式:责任链模式(MyBatis)

MyBatis基于责任链模式实现插件机制,通过Interceptor接口和Plugin类构建嵌套代理式责任链。该机制可拦截Executor等四大核心组件,覆盖SQL执行全流程。自定义插件需实现Interceptor接口,通过@Intercepts注解指定拦截点,在intercept方法中处理逻辑后调用invocation.proceed()传递请求。多个插件按配置顺序形成代理链,最终执行原生方法。

2025-12-23 11:35:41 828

原创 设计模式:责任链模式(Spring Security)

摘要: Spring Security采用责任链模式构建双层过滤器链架构,通过FilterChainProxy(外层)匹配请求路径并触发对应的SecurityFilterChain(内层),后者包含有序的过滤器序列(如认证、授权、防护等)。

2025-12-23 11:26:36 1065

原创 设计模式:责任链模式(springmvc应用)

本文深入剖析了SpringMVC中责任链模式的两大实现场景:拦截器链(HandlerInterceptor)和过滤器链(Filter)。重点分析了HandlerInterceptor拦截器链的核心流程,包括请求处理全生命周期、自定义拦截器实现步骤及执行效果。通过对比两种责任链的差异,总结了SpringMVC责任链的灵活性、中断性和解耦性三大特点。

2025-12-23 11:19:55 1014

原创 设计模式:责任链模式

责任链模式是一种行为型设计模式,通过将请求的处理者连成一条链,实现请求的传递与处理。其核心价值在于解耦请求发送者和接收者,使新增/移除处理者只需调整链结构而无需修改核心逻辑。该模式包含抽象处理者、具体处理者和客户端三个核心角色,支持纯责任链(严格传递)和不纯责任链(灵活处理)两种实现方式。典型应用场景包括SpringMVC拦截器、Servlet过滤器等框架功能,以及业务中的权限校验、审批流程等。

2025-12-23 11:06:45 1506

原创 自定义 Spring Boot 自动配置

本文详细介绍了如何自定义Spring Boot自动配置组件,实现类似内置starter的"引入即生效"功能。主要内容包括:1)核心依赖和设计原则,强调约定优于配置和条件生效机制;2)完整实现步骤,通过短信Starter案例演示配置属性绑定、业务类定义、自动配置类编写和注册流程;3)进阶技巧如多条件组合、自定义Condition注解和配置提示;4)注意事项如类路径隔离和条件精准控制。最终总结出"定义配置→编写业务→自动配置→注册→打包"的标准流程,帮助开发者将通用功能封

2025-12-19 16:18:48 1085 1

原创 电子签名:笔迹特征比对核心算法详解

摘要:汉王ESP560笔迹特征比对算法采用「动态时间规整(DTW)+多维度特征向量计算」的组合体系,针对2048级压感、800×480分辨率进行硬件适配。算法流程包括:笔迹特征提取(8类30维特征)、DTW轨迹对齐、余弦/加权欧氏距离计算、综合相似度评估(阈值80%)及贝叶斯异常过滤。汉王SDK提供封装接口,支持特征提取和相似度比对功能,实测准确率达95%以上。该算法特别优化了压感权重(70%)和坐标归一化处理,适用于考核签名场景,比对耗时≤100ms。开发者可通过调整阈值和启用硬件校准实现场景适配。

2025-12-19 16:17:47 1032

原创 电子签名:笔迹核验全方案拆解

摘要:本文提出针对汉王ESP560签名设备的四层核验方案,通过设备源校验、数据合法性校验、摘要防篡改校验和笔迹特征比对,确保签名真实性和数据完整性。方案包含技术实现细节、数据库设计、核验流程及异常处理,并支持司法级核验和批量处理。测试用例验证了方案的可靠性,满足考核场景的风控需求和电子签名合规要求。

2025-12-19 16:14:34 712

原创 电子签名:SpringBoot + 汉王 ESP560 的考核签名项目实施方案

本项目基于SpringBoot框架集成汉王ESP560签名屏,实现考核场景下的电子签名全流程管理。项目采用SpringBoot3.0、Vue3等技术栈,包含环境搭建、核心功能开发、测试验证等实施阶段。后端实现数据库设计、签名采集接口等核心模块,前端完成签名采集页面开发与ESP560设备对接。项目重点保障签名数据的法律效力,采用国密算法加密存储,并建立完善的运维保障机制。交付物包括技术文档、源代码及运维手册等。成功指标涵盖功能覆盖率、设备连通率等维度,确保系统稳定运行和用户满意度。

2025-12-19 16:10:47 870 1

原创 Spring Boot 自动配置的底层实现原理

SpringBoot自动配置机制通过"约定+条件判断"实现自动化配置加载,核心流程包括:1)@SpringBootApplication注解触发配置入口;2)AutoConfigurationImportSelector加载并过滤META-INF/spring下的配置类清单;3)通过@Conditional系列注解进行条件控制;4)执行符合条件的配置类注册Bean;5)用户自定义配置优先覆盖自动配置。

2025-12-17 15:00:18 1001 1

原创 Spring Boot 深度解析:核心原理与自动配置全解

摘要:本文深入解析SpringBoot自动配置机制,从核心概念、实现原理到自定义扩展三个维度展开。自动配置通过@EnableAutoConfiguration注解触发,依赖AutoConfigurationImportSelector加载配置类,结合条件注解(@ConditionalOnClass等)控制生效时机,实现"约定优于配置"。文章详细剖析了自动配置流程、优先级规则(自定义配置>自动配置),并给出自定义Starter的完整实现方案,包括配置属性类、自动配置类编写及注册方法。

2025-12-17 14:06:07 718 2

原创 Spring Boot ——入门与实战

摘要:SpringBoot是一个简化Spring应用开发的脚手架,具有自动配置、起步依赖、内嵌服务器等核心优势。快速入门指南包括三种创建项目方式(官方脚手架、IDEA创建、手动搭建),以及编写启动类和控制器的方法。核心配置支持properties/yml格式,提供@Value和@ConfigurationProperties两种读取方式。常用功能模块涵盖Web开发、数据库、缓存等场景,通过starter依赖简化配置。项目可打包为可执行JAR部署,并支持多环境运行。

2025-12-17 11:45:43 1037 1

原创 AIoT:从万物互联到万物智联的进化之路

AIoT(人工智能物联网)发展历程与技术架构解析 摘要:AIoT作为AI与IoT的深度融合技术,经历了1999-2016年的萌芽期、2017-2020年的概念落地期和2021年至今的规模化发展期。其技术架构包含终端层(感知与执行)、边缘层(实时决策)和云端层(全局优化)三层协同体系。目前已在智能制造、智能家居、智慧城市、智慧农业和智慧医疗等领域实现深度应用,带来显著效益。未来将呈现终端AI化、生态协同化、价值聚焦化和安全自主化四大趋势,但也面临协议不统一、模型泛化不足等挑战。

2025-12-17 11:21:38 1187

原创 ThreadLocal 全解析(Spring Boot 实战篇)

本文全面解析ThreadLocal在SpringBoot中的核心应用与最佳实践。ThreadLocal通过线程隔离机制实现请求上下文传递、多租户隔离和链路追踪等场景,但其不当使用易引发内存泄漏和数据串用问题。文章详细剖析ThreadLocal底层原理(ThreadLocalMap结构、弱引用Key机制),并给出SpringBoot中的典型应用场景实现方案。重点强调关键问题的解决方案:强制remove()清理、线程池任务包装、TTL替代方案等,同时提出封装规范、监控建议等最佳实践。

2025-12-17 11:03:33 898 1

原创 TransmittableThreadLocal(TTL)全解析:解决线程上下文传递问题

阿里巴巴开源的TransmittableThreadLocal(TTL)解决了ThreadLocal在线程池场景下的上下文丢失问题。TTL通过捕获父线程数据并传递到子线程,实现跨线程上下文传递,适用于Feign线程池、异步任务等场景。核心使用步骤包括:替换ThreadLocal为TTL、包装线程池、清理上下文。生产实践中需注意线程池配置、上下文清理和性能优化,可完美集成OpenFeign实现链路追踪和租户隔离。TTL是微服务中解决线程上下文传递问题的工业级方案。

2025-12-17 10:56:31 681

原创 Spring Retry 全维度详解(结合 OpenFeign 实战)

本文全面介绍了Spring Retry框架的核心设计理念、使用方法和生产实践。主要内容包括:1)框架核心组件(重试策略、退避策略和重试模板);2)三种使用方式(声明式注解、编程式控制和全局配置);3)高级特性(重试监听、条件重试和熔断集成);4)生产环境最佳实践(配置建议和关键注意事项)。文章强调重试必须配合幂等性和降级机制,并提供常见问题排查方案。Spring Retry通过声明式注解简化配置,提供灵活的重试策略,是提升系统可靠性的有效工具。

2025-12-17 10:47:40 845

原创 OpenFeign 实现请求重试:全方案详解

本文全面解析OpenFeign请求重试的实现方案与最佳实践。主要内容包括: 三种实现方案:OpenFeign原生Retryer、SpringRetry集成、结合熔断组件 配置细节:原生Retryer的两种配置方式,SpringRetry的注解/全局/编程式三种配置 核心规则:仅对幂等请求重试,控制重试次数(1-2次)和间隔(1-3秒) 生产实践:建议配合熔断使用,避免重试导致雪崩,需做好日志记录和监控 注意事项:严禁对POST等非幂等请求重试,超时时间需包含重试总耗时。

2025-12-17 10:41:37 886

原创 OpenFeign中:RequestInterceptor使用

本文全面解析OpenFeign框架中的RequestInterceptor拦截器组件,涵盖设计原理、使用方法和高级特性。文章首先介绍拦截器的执行链路和接口设计,详细说明全局和精细化控制两种使用方式,重点剖析RequestTemplate的核心API。针对高级场景,深入探讨拦截器执行顺序控制、线程上下文传递(解决ThreadLocal失效问题)、条件化拦截等解决方案。同时提供常见问题排查方法和生产级最佳实践建议,包括单一职责、轻量高效、容错降级等原则。

2025-12-17 00:58:23 1059

原创 Spring框架:AntPathMatcher 全解析

本文全面介绍SpringBoot中AntPathMatcher的核心应用,重点讲解其在过滤器路径拦截场景的使用。主要内容包括: AntPathMatcher基础:详细解析通配符匹配规则、SpringBoot实例获取方式及核心API 实战应用

2025-12-17 00:24:55 861

原创 MyBatis-Plus 全面介绍 & Spring Boot 集成实战

本文全面介绍了MyBatis-Plus(MP)框架的核心功能与应用实践。MP作为MyBatis的增强工具,提供了通用CRUD、条件构造器、自动分页等开箱即用功能,可大幅减少重复SQL编写。文章详细讲解了MP的核心组件(如BaseMapper、IService)、SpringBoot集成步骤(包括实体类设计、自动填充处理等),并演示了条件查询、分页等核心功能的使用方法。此外,还介绍了乐观锁、代码生成器、多数据源等高级功能,对比了MP与原生MyBatis的差异,最后给出了最佳实践建议。

2025-12-16 18:28:41 680 1

原创 Zipkin 深度解析:核心原理、集成实战与最佳实践

Zipkin是CNCF毕业的轻量级分布式链路追踪工具,由Twitter开源并捐赠给社区。它通过追踪跨服务调用的完整路径,实现请求链路可视化,帮助定位慢调用和故障节点。Zipkin采用"客户端+服务端"架构,与SpringCloud Sleuth深度集成,无需修改业务代码即可实现链路采集。核心功能包括链路可视化、故障定位等,支持Java、Go、Python等多种语言。 在SpringBoot/SpringCloud集成方面,Zipkin提供一键启动服务端和简单配置客户端的能力。

2025-12-16 18:26:52 857

原创 MyBatis 全面解析 & Spring Boot 集成实战

本文全面解析MyBatis框架的核心原理与SpringBoot集成实践。首先介绍MyBatis的核心架构(SqlSessionFactory、Mapper代理等)和特性(动态SQL、结果映射等)。然后详细演示SpringBoot集成MyBatis的完整流程,包括环境配置、代码实现(实体类、Mapper接口、XML映射)和测试验证。高级用法部分涵盖分页插件、二级缓存和自定义类型处理器。最后总结常见问题解决方案和最佳实践,强调合理使用MyBatis特性可以兼顾SQL灵活性和开发效率。

2025-12-16 18:18:33 637 2

原创 SkyWalking 与 Zipkin、Prometheus 深度对比分析

本文对比了三大可观测性工具SkyWalking、Zipkin和Prometheus的核心差异。SkyWalking作为一站式平台,整合链路追踪、指标监控和日志聚合,适合中小型微服务项目快速集成;Zipkin专注轻量级链路追踪,适合仅需定位跨服务调用的场景;Prometheus则擅长云原生环境下的指标监控和告警,适合大规模基础设施监控。

2025-12-15 18:24:53 732

原创 SkyWalking使用:Spring Boot场景

摘要:本文详细介绍了SpringBoot项目接入SkyWalking的全流程指南。主要内容包括:1)部署SkyWalking服务端(OAP+UI),区分测试环境(H2)和生产环境(Elasticsearch);2)SpringBoot应用通过javaagent方式无侵入接入Agent,涵盖本地开发(IDEA)、服务器Jar包和Docker三种部署场景;3)关键扩展-实现日志与TraceID关联,便于问题定位;4)生产环境最佳实践和常见问题解决方案。

2025-12-15 18:18:47 981 1

原创 SkyWalking使用:Spring Cloud Alibaba场景

本文详细介绍了在SpringCloudAlibaba项目中集成Apache SkyWalking的完整流程。主要内容包括:1)SkyWalking服务端部署(OAP+UI),推荐使用Elasticsearch存储;2)SpringCloud应用通过无侵入方式接入SkyWalking Agent的三种方法(本地、Docker和K8s部署);3)关键扩展功能:日志与链路TraceID关联配置;4)常见问题解决方案和生产环境最佳实践。

2025-12-15 18:13:51 1069

原创 物联网(IoT)全面解析:核心聚焦物联网平台

物联网平台作为物联网系统的核心中枢,连接物理与数字世界,实现智能化管理。文章系统分析了物联网四层架构(感知层、网络层、平台层、应用层)的运行逻辑,重点剖析了物联网平台的核心价值、功能模块(设备管理、数据解析、规则引擎等)和分类(公有云/私有云/边缘平台)。通过无人售货柜等应用场景,展示了平台如何解决设备接入、数据管理等痛点。同时指出当前面临的协议碎片化、安全风险等挑战,并展望AIoT融合、云边端协同等未来趋势。

2025-12-15 10:36:41 809

原创 藏在电子设备里的“电流指挥官”:MOS管究竟是什么?

MOS管(金属氧化物半导体场效应晶体管)是电子设备中的关键元件,通过电场控制电流通断。其核心结构包括栅极、源极和漏极,分为N沟道和P沟道两种类型,工作原理类似"电场操控的导电通道搭建术"。MOS管具有导通电阻小、开关速度快等特点,广泛应用于数字电路、功率电子和模拟电路领域。从1926年理论构想到1960年实际诞生,再到FinFET等架构创新,MOS管不断突破物理极限。如今在5G、新能源等领域持续升级,成为支撑现代电子技术的"隐形指挥官"。

2025-12-14 23:21:14 901

原创 三极管:电子信息时代的核心“控制单元”,藏于设备中的关键器件

三极管作为现代电子技术的核心器件,通过"以小控大"的电流控制特性实现信号放大和开关控制两大功能。文章从基础认知、核心结构、工作机理等方面解析了三极管的原理,重点阐述了NPN/PNP型差异、关键参数选型以及放大/开关模式的应用场景。技术演进方面,回顾了从真空三极管到半导体晶体管的跨越式发展,指出三极管支撑了集成电路和现代通信技术的进步。

2025-12-12 23:52:34 885

原创 嵌入式-硬件基础:了解三极管

本文系统介绍了三极管的核心原理、参数选型及工程应用。首先剖析了三极管的半导体结构本质,重点讲解了NPN/PNP型的工作机理和"以小控大"的电流控制逻辑。其次详细分析了三极管的三种工作状态(截止、放大、饱和)及其应用场景,并归纳了选型时需关注的电流、电压、功率和频率等关键参数。随后通过LED控制、信号放大和电机驱动三个典型电路案例,展示了三极管在工程实践中的具体应用方法。

2025-12-12 23:33:40 810

原创 STM32 架构概述

本文系统解析了STM32微控制器的分层架构设计。

2025-12-12 00:34:11 1086

原创 STM32 简单入门

STM32是意法半导体推出的32位微控制器系列,基于ARM Cortex-M内核,相比传统51单片机具有显著优势:性能更强(72MHz主频)、外设更丰富(硬件ADC/SPI/I2C等)、功耗更低(μA级待机)、开发更便捷(支持在线调试)。其核心架构包括Cortex-M内核、Flash/SRAM存储及丰富外设模块,开发流程依托STM32CubeMX图形化工具和HAL库。

2025-12-12 00:30:17 849

商用APP后台系统完整代码

以前仿照当时最火的健身软件KEEP自己也做了一款类似的APP,这个是后台完整代码,是java工程可直接修改使用,含支付系统,积分系统,数据分析系统,微博微信分享模块,短信通知模块等。分享给大家,大家可以用来学习和使用。至于前端,可以自行设计,直接调用其中的接口简单修改就可用,该项目是前后端分离的。

2020-07-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除