Khám phá phương thức finishBeanFactoryInitialization trong mã nguồn Spring
Phương thức finishBeanFactoryInitialization trong lớp AbstractApplicationContext đảm bảo hoàn tất quá trình khởi tạo BeanFactory, bao gồm việc tạo các Bean đơn thể không được trì hoãn.
Phương thức mã nguồn
// Chỉ lấy hai dòng quan trọng
protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFactory) {
// Cố định cấu ...
Đăng vào ngày 17 tháng 8 lúc 08:24
Nguyên lý Cấu hình Tự động trong Spring Boot
Khi phát triển ứng dụng với Spring Boot, chú thích @SpringBootApplication là điểm khởi đầu quen thuộc. Ít người để ý rằng chú thích này thực chất là một sự kết hợp của ba chú thích quan trọng khác, đóng vai trò nền tảng cho cơ chế cấu hình tự động mạnh mẽ của Spring Boot:
@SpringBootConfiguration
@EnableAutoConfiguration
@Component ...
Đăng vào ngày 10 tháng 8 lúc 17:13
NestJS - Cẩm Nang Khởi Đầu
Khởi đầu từ bài viết này, chúng ta sẽ bắt đầu tìm hiểu về NestJS - một trong những framework nổi tiếng nhất dựa trên Node.js. NestJS kết hợp giữa TypeScript, tư duy hướng đối tượng và hàm, cung cấp một cách hiệu quả và có thể mở rộng để xây dựng ứng dụng Node.js. So với các framework như Express hay Koa, NestJS tỏ ra vượt trội hơn hẳn về mặt架 ...
Đăng vào ngày 31 tháng 7 lúc 07:13
Cấu hình đối tượng Bean trong Spring Framework bằng XML
1. Cấu hình cơ bản thẻ Bean
Thẻ <bean> được sử dụng để định nghĩa các đối tượng mà bạn muốn Spring Container quản lý và khởi tạo. Theo mặc định, Spring sẽ sử dụng constructor không tham số để tạo thực thể. Nếu lớp không có constructor không tham số, việc khởi tạo sẽ thất bại.
id: Định danh duy nhất của Bean trong Spring C ...
Đăng vào ngày 22 tháng 7 lúc 04:23
Phân tích cấu trúc Bean Factory trong Spring Framework
Để hiểu rõ hơn về cách hoạt động của IOC container trong Spring, chúng ta có thể xem xét các giao diện chính của BeanFactory và các lớp con của nó.
public interface ComponentContainer {
String FACTORY_COMPONENT_PREFIX = "&";
Object fetchComponent(String id) throws ComponentException;
<T> T fetchComponent(String id, Class&l ...
Đăng vào ngày 20 tháng 7 lúc 13:35
Quản lý cấu hình Bean linh hoạt với annotation @Conditional trong Spring
Trong hệ sinh thái Spring Framework, @Conditional là một annotation mạnh mẽ cho phép các nhà phát triển kiểm soát việc khởi tạo và đăng ký Bean vào Application Context dựa trên các điều kiện cụ thể. Thay vì cấu hình cứng, cơ chế này giúp ứng dụng trở nên linh động hơn, dễ dàng thích ứng với nhiều môi trường triển khai khác nhau.
Cơ chế hoạ ...
Đăng vào ngày 17 tháng 7 lúc 17:10
Điều tra lỗi NullPointerException do xung đột quét Annotation trong Spring MVC
Trong các hệ thống sử dụng Spring MVC, annotation (chú thích) đóng vai trò quan trọng giúp tối ưu hóa cấu hình và tăng tốc độ phát triển. Các annotation phổ biến như @Controller, @Service, hay @Autowired xuất hiện ở hầu hết mọi module. Tuy nhiên, việc sử dụng chúng một cách thiếu kiểm soát, đặc biệt là khi kết hợp giữa cấu hình XML và quét comp ...
Đăng vào ngày 9 tháng 7 lúc 03:58
ABP vNext - Các Mô Đun
I. Giới thiệu về ABP vNext
ABP vNext là một khung ứng dụng Web dựa trên Asp.Net Core, được thiết kế để phát triển nhanh chóng các ứng dụng Web. Khung này không chỉ cung cấp mẫu ứng dụng hoàn chỉnh mà còn tích hợp các chức năng cơ sở cần thiết cho phát triển Web.
II. Khái niệm về Mô Đun
Từ góc nhìn lập trình hướng đối tượng, mô đun có thể được ...
Đăng vào ngày 29 tháng 6 lúc 12:38
Thực hiện AOP bằng AutoFac trong .NET Core
Thêm thư viện cần thiết
Sử dụng Nuget để cài đặt gói Autofac.Extras.DynamicProxy.
Xây dựng lớp ghi nhận hành vi
/// <summary>
/// Lớp xử lý giao diện (thực hiện Castle.DynamicProxy.IInterceptor)
/// </summary>
public class GhiNhanKetQua : IInterceptor
{
public void Intercept(IInvocation invocation)
{
Console.WriteLin ...
Đăng vào ngày 29 tháng 6 lúc 06:52
Đóng gói thư viện Canal trong .NET Core
Bài viết này sẽ hướng dẫn cách đóng gói và sử dụng Canal trong ứng dụng .NET Core, bao gồm việc tạo service chạy nền, xử lý dữ liệu thay đổi từ cơ sở dữ liệu và cấu hình kết nối.
Service chạy nền
Để lắng nghe và xử lý các thay đổi từ Canal, chúng ta triển khai service nền bằng IHostedService. Service này chịu trách nhiệm kết nối, nhận message ...
Đăng vào ngày 25 tháng 6 lúc 16:21