Xử lý lỗi đọc dữ liệu Redis trả về null trong phương thức có @Transactional của Spring
Vấn đề
Khi sử dụng RedisTemplate với tính năng hỗ trợ giao dịch (transaction) được bật (enableTransactionSupport = true) và kết hợp với annotation @Transactional của Spring, bạn có thể gặp tình huống: thực hiện một thao tác đọc Redis trong luồng hiện tại (ví dụ: trong một request web) nhưng kết quả nhận được lại là null, mặc dù dữ liệu đã tồn t ...
Đăng vào ngày 20 tháng 5 lúc 16:45
Sử dụng các mẫu thiết kế để tối ưu hiệu năng
Mẫu thiết kế là cách tổng hợp lại các kỹ thuật phát triển phần mềm phổ biến, giúp các lập trình viên có thể trao đổi ý tưởng một cách chuyên nghiệp và nhanh chóng hơn. Ví dụ, khi chúng ta đề cập đến việc sử dụng mẫu Decorator trong mô-đun I/O, bạn có thể dễ dàng hình dung được cách tổ chức mã nguồn của mô-đun này.
Thực tế là hầu hết các mẫu thi ...
Đăng vào ngày 18 tháng 5 lúc 13:05
Hướng dẫn tích hợp SSM (Spring, SpringMVC, MyBatis) chi tiết
Kiến trúc ứng dụng web backend thường được chia thành 3 lớp chính:
Lớp hiển thị (Presentation Layer): Sử dụng SpringMVC để xử lý các yêu cầu từ trình duyệt.
Lớp nghiệp vụ (Business Layer): Sử dụng Spring Framework để quản lý logic và các bean.
Lớp dữ liệu (Persistence Layer): Sử dụng MyBatis để thao tác với cơ sở dữ ...
Đăng vào ngày 18 tháng 5 lúc 03:33