自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 【Spring Boot】理解Spring Bean作用域的设计

在Spring中,依托于Spring IOC容器,我们可以将对象作为Bean注册到容器里。然后在Spring项目里非常方便的注入进去。那么有个显而易见的问题是每一次通过依赖注入的对象实例都是同一个吗?或者是我们该如何控制对象实例的时机。这篇文章我将梳理一下Bean对象的作用域。

2025-12-24 15:22:59 523

原创 【Java】重构之善用多态解耦,记录一次模板方法实践

前段时间维护了一个报警推送的桌面程序,支持几家供热公司的实时报警消息推送。每次启动时,通过配置指定处理其中某一家公司的报警推送。但是后面有一家客户的需求,是要实现实时报警次数统计的功能,于是引入Redis作为计数器。最初代码采用条件分支实现,在主推送逻辑区域插入if判断,主流程被各种业务细节污染,违反了软件设计的基本开闭原则。现在趁着时间充裕,回过头来重构自己的代码。由于原有项目并不是一个Spring工程,思来想去,我决定用OOP中的多态来重构它,主要使用到了模板模式和工厂模式。

2025-12-20 22:09:04 453

原创 【Spring Boot】用Spring AOP优雅实现横切逻辑复用

本文详细介绍了Spring AOP的核心概念、在Spring Boot中的使用方式、实现原理及多切面执行顺序,AOP作为面向对象编程的补充,通过横切逻辑的分离,能有效简化日志、事务、权限等功能的开发,提升代码的可维护性和复用性。在实际项目中,合理使用 AOP可以让业务逻辑更专注于核心功能,同时实现横切需求的统一管理。

2025-12-10 23:17:22 1188 1

原创 【Spring Boot】Interceptor的原理、配置、顺序控制及与Filter的关键区别

Spring Boot 中,拦截器通常用于在请求处理前后执行一些逻辑,这点与Servlet容器提供的过滤器有点类似。平常我们开发Jave Web应用的时候,经常能碰到要对请求访问进行通用逻辑处理的场景,比方说记录访问日志、确认访问权限等。你是否曾经纠结于是选过滤器还是拦截器来实现逻辑代码的编写,本篇文章先重点介绍Spring中的interceptor拦截器, 然后就过滤器和拦截器这两个常见但易混淆的请求拦截工具,讨论两者相似且不同之处。

2025-12-03 23:32:20 1248

原创 【Java Web】过滤器的核心原理、实现与执行顺序配置

过滤器是Java EE标准中Servlet规范提供的功能,也是传统JavaWeb的三大组件之一(Servlet,Filter和Listener)。通过过滤器可以把所有进入Servlet容器的请求都拦截住,无论静态资源还是Controller,从而实现一些通用的操作。

2025-12-03 00:00:06 1087

原创 【ASP.NET Core】ASP.NET Core应用的Docker容器化与阿里云托管

本文记录Docker发布ASP.NET Core应用,并且借助阿里云的容器镜像服务仓库,实现本地镜像的上传和服务器镜像拉取。希望能帮助到有需要的小伙伴。

2025-11-29 21:29:08 530 1

原创 【Spring Boot】全局异常处理器与日志追踪

一套完善的异常日志捕获往往能给我们的日常工作带来许许多多的便利。不仅要能方便还原出错信息,也要能快速定位到出错日志位置。下面我将结合@RestControllerAdvice和@ExceptionHandler实现一个全局异常处理器,并且通过请求OncePerRequestFilter过滤器来获取请求头ID来定位异常日志位置。最后基于Logback来将日志保存到本地。

2025-11-27 22:16:13 941

原创 【Spring Boot】 无缝集成阿里云OSS,实现文件上传与安全访问

本文简单的介绍了下在阿里云对象存储服务OSS文件中的上传与访问操作,实际上对于校验文件大小和类型等还是大有内容可谈,但是还是得依据实际生成工作需要去灵活调整。比如ossClient也支持删除文件和移动文件,这些可以依据工作需求去扩展。希望能帮助到大家。

2025-11-23 17:29:26 1111

原创 【Spring Boot】事务的回滚、传播与常见问题

想象一下这种场景,发薪日到了,公司财务给我们的银行卡转账。最终的结果无法就两种:转账成功,公司账户余额减少,个人账号余额增长相应的数字;另外一种就是转账失败,双方账户余额都不改变。今天这篇文章我和大家一起梳理在Spring Boot中去实现复杂逻辑操作的单机事务,并理清事务的传播规则,从而保证数据的一致性。

2025-11-20 23:56:19 872

原创 【Spring Boot】基于MyBatis的条件分页

条件分页是平常工作生产中十分常见的场景。储存过程还流行的年代,喜欢把分页逻辑封装在储存过程里,称之为数据库分页。甚至在前端,我们也可以通过对Array的操作实现前端分页。本篇文章主要还是在Spring Boot框架上基于MyBatis来实现分页,并且引申出诸如分页数据封装对象,PageHelpe辅助工具和MyBatis XML中实现条件语句这些工作中实用的点,希望能帮助到大家。

2025-11-16 23:33:04 1060

原创 【Spring Boot】REST与RESTful详解,基于Spring Boot的RESTful API实现

提起WebAPI的开发,REST风格的API是不得不提及的一个话题。REST风格的WebAPI也是目前最流行的一种WebAPI风格,除了REST风格外,还有通过WebService或者WCF开发的基于SOAP协议的WebAPI,不过这些都在时代的潮流中或被沉淀,或又通过新的面貌重新进入我们的视野。REST是一种基于 HTTP 协议的软件架构风格,而RESTful则是基于这种风格的实践。本文将详尽的介绍REST,并且通过Spring Boot开发RESTful WebAPI。

2025-11-08 23:24:51 991

原创 【Java】理解Java内存中堆栈机制与装箱拆箱的底层逻辑

编写一个健壮的程序离不开对资源的高效利用,其核心在于高效利用内存与算力。Java程序的运行依赖JVM的内存管理,了解JVM 中堆栈的内存机制,会有助于我们提高程序运行效率、降低资源的消耗。

2025-10-29 23:39:46 773

原创 【Spring Boot】深入浅出控制反转与依赖注入

控制反转(Inversion of Control ,IOC)和依赖注入(Dependency Injection ,DI)是两个紧密相关的设计概念,常被一同提及但又容易混淆。依赖注入是控制反转实现思想的实现方式。依赖注入的提出是为了简化模块的组装过程,降低模块之间的耦合度。

2025-10-23 22:31:22 899 6

原创 【计算机网络】HTTP协议核心知识梳理

HTTP全称Hyper Text Transfer Protocol。直译就是超文本传输协议。这是一种指定了浏览器和服务器之间数据传输的规则(客户端发起请求、服务器返回响应),也是互联网的核心通信协议。像我们平常浏览网页,调用API接口都离不开HTTP协议。HTTP自身是基于TCP协议,为浏览器到服务器之间提供可靠、有序、面向连接的数据传输服务。

2025-10-16 22:04:55 1164

原创 【Java】从匿名内部类到函数式接口

匿名内部类本质上还是通过对类的临时实现来实现逻辑封装,而Lambda表达式更多的是将函数逻辑作为一个参数传入,是函数式编程思想的体现。灵活的使用二者能帮我们更加优雅的封装代码里的逻辑,写出简洁的代码

2025-10-12 16:06:06 680

原创 【ASP.NET Core】分布式场景下ASP.NET Core中JWT应用教程

相比传统 Session 在分布式环境中的性能瓶颈,JWT的无状态、防篡改等优势使其天然适合分布式环境。本文以ASP.NET Core为基础,从配置文件设计、JWT 服务封装、Token 生成与验证,到控制器调用及认证授权中间件配置,完整呈现了JWT在实际项目中的落地步骤。

2025-10-09 09:26:52 1008

原创 【ASP.NET Core】身份认证——Identity标识框架指南

本文介绍关于Identity标识框架的指南,从底层架构开始,扩展到如何应用

2025-09-22 20:10:34 864

原创 【Linux】麒麟服务器安装Nginx及配置反向代理、SSL证书实操记录

本文记录一次在麒麟服务器V10 SP3上,通过dnf包管理工具来安装Nginx,并配置反向代理和设置ssl

2025-09-16 21:28:24 705

原创 【Linux】 麒麟服务器V10 SP3安装配置Redis操作总结(包管理方式)

本文记录一次在麒麟服务器V10 SP3上,通过dnf包管理工具来安装Redis,简单配置并启用服务的经历

2025-09-16 20:15:00 1657

原创 【C#】理解.NET内存机制:堆、栈与装箱拆箱的底层逻辑及优化技巧

本篇文章将介绍堆(Heap)和栈(Stack)这两种基础内存区域,了解程序运行的时候堆和栈是如何决定数据的存储与访问方式。并且探究装箱与拆箱是如何偷走我们程序的内存和无端消耗资源的,以及如何去避免。

2025-09-11 20:40:25 1249

原创 【C#】 资源共享和实例管理:静态类,Lazy<T>单例模式,IOC容器Singleton我们该如何选

编写程序的时候,常常能碰到当某些数据或方法需要被整个程序共享,且不需要多个独立副本的场景。本文总计几个常见的解决方案

2025-09-07 18:44:15 1227

原创 【ASP.NET Core】基于MailKit(SMTP 协议)实现邮件发送

在ASP.NET Core中,实现邮件发送的功能我们可以依赖MailKit这个邮件处理库来处理邮件的构建和传输。 本文将先介绍下SMTP协议,然后通过MailKit这个库,使用基于SMTP协议实现后端发送邮件的功能。

2025-09-03 19:45:00 871

原创 【ASP.NET Core】双Token机制在ASP.NET Core中的实现

该方案通过生成关联的accessToken与refreshToken,利用SessionUId实现二者匹配验证,在refreshToken有效期内支持安全刷新 accessToken,同时采用Redis存储refreshToken并可实施滑动过期策略,增强了API鉴权的安全性与用户体验。

2025-08-30 17:11:20 1056

原创 【微信小程序】微信小程序基于双token的API请求封装与无感刷新实现方案

该方案通过封装微信小程序wx.request,结合双token机制与并发请求队列管理,实现了token过期后的无感刷新与请求重试。

2025-08-29 17:32:17 1564

原创 【C#】构造函数实用场景总结

构造函数是我们平常编程里经常能碰到的老伙计了,构造函数本质上是类中一种特殊的成员方法,用于在实例化对象的时候,对该类中的一些状态进行初始化。本篇文章总结下工作中经常能碰到的使用构成函数的场景,希望能帮助到大家。

2025-08-24 20:33:20 831

原创 【ASP.NET Core】ASP.NET Core中间件解析

中间件的本质是一个嵌套的请求委托容器,通过接收下一个中间件的请求委托,返回当前中间件的请求委托。其中这个返回的请求委托中包含了对当前逻辑的执行和对next的调用。多个中间件按注册顺序组成请求管道,请求按注册顺序流经每个节点,响应则按相反顺序回流

2025-08-19 20:51:25 1257

原创 【ASP.NET Core】浅谈ASP.NET Core过滤器管道的执行机制

ASP.NET Core 过滤器是基于 AOP 思想,通过授权、资源、操作、异常、结果等多种类型过滤器按特定顺序介入请求处理流程,可通过全局注册、特性、ServiceFilter/TypeFilter 等方式应用,实现横切关注点(如权限、缓存、日志、异常处理)的解耦与复用

2025-08-04 16:15:33 752

原创 【ASP.NET Core】探讨注入EF Core的DbContext在HTTP请求中的生命周期

本文将探讨ASP.NET Core中通过DI注入EF Core的DbContext在HTTP请求中的生命周期

2025-07-29 11:39:33 852

原创 【Linux】Ubuntu上安装.NET 9运行时与ASP.NET Core项目部署入门

本篇文章包含如何在Unbuntu上安装.NET 9运行时,完整记录将一个ASP.NET Core项目部署到Linux服务器上。

2025-07-28 11:29:48 1557

原创 【ASP.NET Core】ASP.NET Core中Redis分布式缓存的应用

分布式缓存是将缓存数据存储后供多个外部应用服务器中的服务共享使用。比起内存缓存仅支持本服务使用,分布式缓存扩展多服务器,多应用。故因此得名分布式缓存。本文将介绍ASP.NET Core中如何应用Redis作为分布式缓存服务。

2025-07-21 14:36:49 752

原创 【EF Core】 常见查询表达式语法语句一览

在EF Core中,除了常见的链式语法外,还有一种稍微冷门的查询表达式语法。它的结构类似于SQL语句,实现起来的灵活性也是优于链式语法。因为链式语法本身就是一个接收委托的函数,灵活性上不如类似原生SQL的查询表达式语法

2025-07-17 14:03:55 570

原创 【ASP.NET Core】内存缓存(MemoryCache)原理、应用及常见问题解析

文章围绕ASP.NET Core 中 MemoryCache 展开,先介绍其结构、注册方式、配置项(过期策略、优先级)及基本操作与扩展方法,后阐述内存缓存常见问题(穿透、击穿、雪崩)及解决办法

2025-07-14 17:31:50 1474

原创 【ASP.NET Core】深入理解Controller的工作机制

本文详解ASP.NET Core中Controller的职责、基类差异、特性、Action参数绑定及响应方式,展现其处理 HTTP 请求的核心作用。

2025-07-08 11:54:55 1604

原创 【ASP.NET Core】REST与RESTful详解,从理论到实现

本文介绍了REST架构风格及RESTful API的概念,阐述了其基于HTTP语义的设计原则,并结合ASP.NET Core演示了RESTful API的具体实现,包括路由设计、HTTP方法映射及状态码规范等。

2025-07-04 15:03:03 1514

原创 【WCF】通过AOP实现基于JWT的授权与鉴权的实践

本文核心是在WCF服务中结合AOP思想与JWT技术实现授权与鉴权。不得不说,通过WCF实现基于JWT的授权与鉴权比ASP.NET Core WebApi里实现起来要麻烦的多,但是也不是无法实现的。

2025-06-30 10:48:54 1440

原创 【WCF】基于固定时间窗口的接口限流实现(借助IOperationInvoker的AOP方案)

本文介绍了在 WCF中通过自定义特性结合 IOperationInvoker,基于固定时间窗口算法实现接口访问频率限制的具体方案,包括特性定义、调用器实现及使用方式

2025-06-27 10:39:35 1381

原创 【WCF】单例模式的线程安全缓存管理器实现,给你的WebApi加入缓存吧

这就是一个用于WCF RESTful服务的缓存管理器实现,它采用了泛型静态类和单例模式,提供了线程安全的缓存操作

2025-06-24 21:38:59 1444

原创 【WCF】基于WCF在WinForms搭建RESTful服务指南

本文系统讲解了基于.NET Framework 4.8 的 WCF 框架搭建 RESTful 服务的全流程,涵盖契约定义、服务实现、宿主配置及各 HTTP 方法实践,适合老项目维护中与传统框架交互的场景。希望能帮助到大家

2025-06-23 16:09:31 1132

原创 【JavaScript】基于 Class 封装的 ECharts 动态生成器:告别重复逻辑,实现图表配置高效复用

一个通过 Class 封装 ECharts 动态生成器.以配置注册机制解耦 Y 轴与数据类型,实现多数据源图表的零重复逻辑渲染,遵循 DRY 原则提升代码可维护性。

2025-06-17 14:13:58 1544

原创 【VUE3】基于Vue3和Element Plus的递归组件实现多级导航栏

本文基于 Vue3 和 Element Plus,通过递归组件实现了可动态渲染的多级导航栏,利用自引用数据结构和深度控制避免无限循环,同时结合 TypeScript 规范数据类型并优化组件封装

2025-06-13 12:01:03 1978

WCF基于WCF在WinForms搭建RESTful服务

基于WCF在WinForms搭建RESTful服务的源码

2025-06-23

【JavaScript】基于 Class 封装的 ECharts 动态生成器:告别重复逻辑,实现图表配置高效复用

ECharts图表动态生成器源码

2025-06-17

jsencrypt.min.js

jsencrypt.min.js

2025-05-08

空空如也

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

TA关注的人

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