NoBug World
Hi, NoBug World

文章

Thoughts, tutorials, and personal updates.

Hello World - Welcome to My Blog

My first blog post on this new personal website. A warm welcome and introduction to what this space is about.

2026年4月10日

Getting Started with Astro

A beginner's guide to building websites with Astro framework. Learn why Astro might be perfect for your next project.

2026年4月9日

TDD 实现 Spring DI 容器 (一) - 基础功能与实例构造

本文介绍了 TDD 实现 Spring DI 容器的背景和需求分析,进行功能任务分解,并搭建测试环境,带领大家通过红绿重构循环实现基础的组件注册与实例构造机制。

2024年8月21日

TDD 实现 Spring DI 容器 (二) - 依赖检查提取

本文聚焦容器依赖构建过程中的 Sad Path 处理,详细演示了将依赖缺失与循环依赖等检查逻辑抽离至容器构建阶段,彻底重构了内部的依赖获取与上下文构建链路。

2024年8月21日

TDD 实现 Spring DI 容器 (三) - 字段注入与方法注入

本文为容器补充了常用的字段注入与方法注入支持。深度探讨了在 TDD 演进中如何切换测试边界,并详细解决了方法注入时在父子类调用顺序及覆盖场景下的特殊情况。

2024年8月21日

TDD 实现 Spring DI 容器 (四) - 代码与测试重构

本文是一次高质量的重构实战,通过提取测试上下文、参数化测试用例来使测试文档化,进一步分离了测试代码架构,消除代码坏味道以保证容器本身及其测试用例易于维护。

2024年8月21日

TDD 实现 Spring DI 容器 (五) - Provider 依赖注入

本文围绕 JSR-330 规范引入了对 Provider 类型的注入支持,允许在使用时按需提供组件实例,并解决了泛型注入和自定义限定符依赖等高级场景的扩展基础。

2024年8月21日

TDD 实现 Spring DI 容器 (六) - Qualifier 支持

本文在基础的按类型注入之上,集成了 Qualifier (限定符) 和默认 Named 注解支持,通过重构组件标识体系使其能够精准匹配同类型下的各种不同实现。

2024年8月21日

TDD 实现 Spring DI 容器 (七) - 生命周期管理

本文探讨了对组件生命周期的支持,解决了 Singleton 的并发安全问题。同时为容器引入了完整的自定义 Scope 作用域扩展接口,圆满达成了兼容 JSR-330 规范的目标。

2024年8月21日