Phân Tích Kỹ Thuật Hệ Sinh Thái Spring: Từ Core Đến Boot Và MyBatis
Kiến Trúc Core Container Và Cơ Chế IOC
Spring Framework hoạt động dựa trên nền tảng container, nơi việc khởi tạo và quản lý vòng đời đối tượng được giao phó cho container thay vì lập trình viên. Khái niệm IOC (Inversion of Control) thể hiện qua việc chuyển giao quyền kiểm soát này sang BeanFactory. Spring quét các package để đóng gói thông tin ...
Đăng vào ngày 25 tháng 7 lúc 03:59
Spring Framework Cơ Bản: Kiến Trúc IOC và DI Qua Ví Dụ Thực Tế
Hiểu Về Kiến Trúc Điều Khiển Đảo Ngược (IOC) và Tiêm Phụ Thuộc (DI)
Khi làm việc với Spring Framework, hai khái niệm nền tảng cần nắm rõ là IOC (Inversion of Control) và DI (Dependency Injection):
IOC: Thay vì ứng dụng tự tạo và quản lý đối tượng, trách nhiệm này được chuyển giao cho container Spring. Đây là sự "đảo ngược" trong quyền kiể ...
Đăng vào ngày 22 tháng 7 lúc 08:16
Sử dụng Dependency Injection trong .NET 8 với Microsoft.Extensions.DependencyInjection
Trong các ứng dụng hiện đại trên nền tảng .NET, việc áp dụng nguyên lý Inversion of Control (IoC) thông qua cơ chế Dependency Injection (DI) giúp tăng tính linh hoạt, khả năng kiểm thử và khả năng bảo trì mã nguồn. Từ phiên bản .NET 5 trở đi, Microsoft đã tích hợp sẵn một container DI nhẹ và hiệu quả trong gói Microsoft.Extensions.DependencyInj ...
Đăng vào ngày 7 tháng 7 lúc 01:06
Tìm hiểu phương thức Build của lớp HostBuilder trong .NET Core
Trong .NET Core, khi làm việc với IHostBuilder, phương thức Build() thực hiện một loạt các tác vụ khởi tạo quan trọng để xây dựng một host hoàn chỉnh. Bài viết này sẽ phân tích chi tiết các bước mà phương thức này thực hiện.
Các trường được khởi tạo
Trước khi đi vào chi tiết phương thức Build, chúng ta cần nắm được các trường (fields) được sử d ...
Đăng vào ngày 27 tháng 6 lúc 08:02
Hiểu Về Sử Dụng DbContext Trong EFCore Đến Triển Khai Tự Động Tiêm Thuộc Tính Với DI
Bối Cảnh
Trong quá trình di chuyển dự án từ Framework sang .NET Core 3.0, tôi đã chọn EFCore kết hợp với MySQL cho tầng truy cập dữ liệu. Khi làm việc với EF, việc tương tác với DbContext là không thể tránh khỏi. Trong Core, cách sử dụng thông thường là: tạo một lớp XXXContext kế thừa từ DbContext, triển khai một hàm tạo có tham số DbContextOpt ...
Đăng vào ngày 23 tháng 6 lúc 02:14
Áp Dụng Dependency Injection Trong Ứng Dụng Express.js Để Tăng Tính Linh Hoạt Và Khả Năng Kiểm Thử
Khi dự án Express.js mở rộng, việc quản lý các thành phần như dịch vụ, bộ xử lý cơ sở dữ liệu hay lớp nghiệp vụ thường trở nên rối rắm nếu phụ thuộc vào khởi tạo trực tiếp hoặc gọi `require()` tại nhiều nơi. Dependency Injection (DI) giúp tách biệt việc tạo đối tượng khỏi việc sử dụng chúng — từ đó cải thiện khả năng kiểm thử, tái sử dụng và bả ...
Đăng vào ngày 11 tháng 6 lúc 16:00
Các phương thức mở rộng của IServiceCollection trong .NET Core
Giới thiệu về IServiceCollection
Trong .NET Core và ASP.NET Core, IServiceCollection là một container chứa tất cả các dịch vụ (services) của ứng dụng. Framework cung cấp nhiều phương thức mở rộng (extension methods) giúp cấu hình các dịch vụ một cách dễ dàng và nhanh chóng.
Các phương thức mở rộng phổ biến
1. Xác thực và bảo mật
AddAntiforg ...
Đăng vào ngày 31 tháng 5 lúc 23:24
Cơ Chế Proxy Hóa Bean Trước Khi Khởi Tạo Trong Spring Framework
Trong vòng đời quản lý Bean của Spring, giai đoạn khởi tạo (instantiation) là bước then chốt để tạo ra đối tượng thực tế. Tuy nhiên, framework cũng cung cấp cơ chế để can thiệp vào quá trình này thông qua giao diện InstantiationAwareBeanPostProcessor. Đặc biệt, phương thức postProcessBeforeInstantiation cho phép trả về một đối tượng proxy thay ...
Đăng vào ngày 29 tháng 5 lúc 10:16
Xây Dựng Lớp Wrapper Elasticsearch Cho .NET Và Thực Hiện CRUD
Để bắt đầu tích hợp Elasticsearch vào dự án .NET, bước đầu tiên là cài đặt gói thư liệu chính thức thông qua NuGet. Gói cần thiết là Elastic.Clients.Elasticsearch. Sau khi cài đặt, chúng ta sẽ xây dựng một lớp trừ tượng để quản lý kết nối và các thao tác cơ bản.
Thiết Lập Thư Viện Core
Chúng ta sẽ tạo một project class library để chứa các logi ...
Đăng vào ngày 29 tháng 5 lúc 08:02
Hướng Dẫn Tránh Bẫy Khi Viết Unit Test PHP: 8 Vấn Đề Thường Gặp và Giải Pháp
Giá trị cốt lõi và cách tiếp cận mới với unit test trong PHP
Trong phát triển phần mềm hiện đại, unit test không còn là công cụ tùy chọn mà đã trở thành hạ tầng thiết yếu để đảm bảo chất lượng và tăng hiệu quả hợp tác giữa các thành viên. Việc viết test không chỉ nhằm xác minh hành vi của các hàm hoặc lớp, mà còn đóng vai tròthen chốt trong quy ...
Đăng vào ngày 29 tháng 5 lúc 05:00