Hệ thống ghi log trong Spring Boot và cách cấu hình

1. Giới thiệu về log trong ứng dụng Trong quá trình phát triển phần mềm, việc ghi log đóng vai trò then chốt. Nếu không có log, khi ứng dụng gặp lỗi, chúng ta sẽ rất khó xác định nguyên nhân và vị trí lỗi để khắc phục. Nhờ có log, chúng ta có thể phát hiện lỗi, định vị chính xác vị trí và xử lý kịp thời. Trong giai đoạn học lập trình cơ bản, ...

Đăng vào ngày 23 tháng 9 lúc 09:58

Mẫu Thiết Kế Builder: Tách Biệt Quá Trình Xây Dựng Và Biểu Diễn Đối Tượng

Tổng Quan Về Mẫu Builder Mẫu thiết kế Builder (Xây dựng) giải quyết bài toán tách rời quá trình lắp ráp một đối tượng phức tạp khỏi cách thức biểu diễn cuối cùng của nó. Khi một lớp có quá nhiều tham số khởi tạo, đặc biệt là các tham số tùy chọn, việc sử dụng constructor truyền thống dễ dẫn đến "hiệu ứng kính viễn vọng" (telescoping constructor ...

Đăng vào ngày 21 tháng 9 lúc 11:48

Xử lý các kiểu tham số và phản hồi trong SpringMVC

1. Giới thiệu về các kiểu tham số phổ biến Trong SpringMVC, việc xử lý dữ liệu truyền vào có thể thực hiện thông qua nhiều cách khác nhau, bao gồm cả gửi dữ liệu dạng URL encoded, tải file hoặc sử dụng JSON. 1.1 Dạng application/x-www-form-urlencoded Kiểu này là mặc định khi không chỉ định thuộc tính enctype trong form HTML. Các tham số sẽ ...

Đăng vào ngày 20 tháng 7 lúc 14:08

Chuyển đổi danh sách lồng ghép thành chuỗi định dạng bằng StringBuilder trong Java

Trong các ứng dụng quản lý vật tư, việc biểu diễn dữ liệu từ cấu trúc phân cấp (danh sách con nằm trong đối tượng cha) dưới dạng chuỗi dễ đọc là một yêu cầu phổ biến. Bài viết này trình bày cách sử dụng StringBuilder để xây dựng trường materialNames từ danh sách formMaterialList, đảm bảo hiệu suất và tính rõ ràng. Dữ liệu đầu vào mẫu Dữ liệu ...

Đăng vào ngày 10 tháng 7 lúc 14:40

Tích hợp phân trang MySQL và thư viện Lombok vào MyBatis Generator

Vấn đề với công cụ MyBatis Generator mặc định Mặc định, công cụ MyBatis Generator (MBG) tạo ra các lớp Example không hỗ trợ sẵn các tham số để phân trang phía cơ sở dữ liệu (như LIMIT, OFFSET). Ngoài ra, các lớp Data Object (DO) được sinh ra thường chứa rất nhiều mã boilerplate như Getter và Setter, khiến mã nguồn trở nên cồng kềnh và khó duy t ...

Đăng vào ngày 7 tháng 7 lúc 15:45

Giải Quyết Vấn Đề Không Tìm Thấy Biểu Tượng Khi Sử Dụng Lombok Với Maven

Khi sử dụng Lombok trong dự án Java, bạn có thể gặp lỗi “không tìm thấy biểu tượng” khi chạy lệnh mvn install hoặc biên dịch mã nguồn. Điều này thường xảy ra do các chú thích (annotations) của Lombok không hoạt động đúng cách. Có nhiều nguyên nhân có thể gây ra vấn đề này, bao gồm thiếu plugin IDE, xung đột phụ thuộc Maven hoặc cấu ...

Đăng vào ngày 30 tháng 6 lúc 05:15

Hướng dẫn sử dụng Lombok trong Java giúp code gọn gàng hơn

Lombok là một thư viện Java mạnh mẽ giúp giải quyết vấn đề code boilerplate (code lặp lại) khi phát triển ứng dụng. Trong quá trình viết JavaBean, lập trình viên thường phải tốn thời gian tạo getter, setter, constructor, phương thức equals, hashCode, toString... Khi số lượng thuộc tính tăng lên, lượng code này trở nên cồng kềnh và dễ phát sinh ...

Đăng vào ngày 9 tháng 6 lúc 16:41

Nguyên lý và Ứng dụng MapStruct trong Java

Nhu cầu ánh xạ đối tượng Bối cảnh sử dụng Trong kiến trúc phân tầng Java, ánh xạ thuộc tính giữa các đối tượng xuất hiện phổ biến: Entity ↔ DTO: Tách biệt dữ liệu giữa tầng lưu trữ và nghiệp vụ DTO ↔ VO: Lược bỏ trường không cần thiết giữa dịch vụ và giao diện API ↔ Mô hình nội bộ: Cách ly mô hình bên ngoài và bên trong So sánh giải pháp Ph ...

Đăng vào ngày 7 tháng 6 lúc 00:24