Tài liệu Swagger cho Functional WebMVC trong Spring 5 với Springdoc-openapi
Spring 5 giới thiệu một bước tiến quan trọng với WebFlux và mô hình lập trình hàm (functional programming) thông qua RouterFunction và HandlerFunction. Không chỉ giới hạn ở WebFlux, Spring cũng mang phong cách này vào WebMVC truyền thống, cho phép lập trình viên định nghĩa các endpoint mà không cần sử dụng @Controller hay @RequestMapping truyền ...
Đăng vào ngày 11 tháng 11 lúc 18:54
Cơ chế xử lý sự kiện với Spring Event Listener
Cơ chế Event trong Spring Framework là một triển khai của Design Pattern "Observer". Nó giúp giảm sự phụ thuộc (decoupling) giữa các thành phần trong hệ thống bằng cách cho phép các module giao tiếp với nhau thông qua các sự kiện thay vì gọi trực tiếp phương thức của nhau.
1. Các thành phần cốt lõi của Spring Event
Hệ thống sự kiện trong Sprin ...
Đăng vào ngày 31 tháng 10 lúc 06:46
Tối Ưu Hóa Gọi API Dịch Vụ Cơ Bản Khi Spring Boot Khởi Động
Trong môi trường kiến trúc microservices, các dịch vụ thường xuyên giao tiếp qua lại thông qua các lời gọi API. Tuy nhiên, đối với những dữ liệu nền tảng ít thay đổi như từ điển hệ thống (dictionary) hay thông tin nhà cung cấp, việc liên tục gọi API mỗi khi cần sử dụng sẽ gây lãng phí tài nguyên và tăng độ trễ. Giải pháp tối ưu là thực hiện gọi ...
Đăng vào ngày 15 tháng 10 lúc 11:58
Triển Khai Cổng Thông Tin Đào Tạo Đại Học Tích Hợp Spring Boot Và Vue.js
Kiến Trúc Tổng Thể Của Hệ Thống
Hệ thống cổng thông tin học thuật được kiến trúc hóa theo mô hình microservices-lite, tách biệt rõ ràng giữa lớp hiển thị và lớp xử lý nghiệp vụ. Frontend vận hành trên Vue.js 3 kết hợp Vite build tool để tối ưu cold start time và tree-shaking, trong khi backend sử dụng Spring Boot 3.x phục vụ RESTful API. Cơ sở ...
Đăng vào ngày 2 tháng 10 lúc 03:29
Xây Dựng Hệ Thống Đặt Món Ăn Căn Trường Với Spring Boot, Vue.js Và Uniapp
Tổng Quan Hệ Thống
Hệ thống đặt món ăn căn trường được phát triển nhằm tối ưu hóa quy trình order thực phẩm cho sinh viên và giảng viên. Giải pháp này kết hợp giữa backend mạnh mẽ, frontend linh hoạt và ứng dụng đa nền tảng để đảm bảo trải nghiệm người dùng mượt mà.
Kiến Trúc Công Nghệ
Backend: Spring Boot
Spring Boot đóng vai trò là nền tảng ...
Đăng vào ngày 23 tháng 9 lúc 20:19
Tự động hóa giao diện người dùng trên Android - Phần thực hành nâng cao
Trong phần trước, chúng ta đã tìm hiểu về việc phát triển mở rộng trên nền tảng solopi. Phần này sẽ đi sâu vào nguyên lý hoạt động của phía server.
Kiến trúc hệ thống
Hệ thống sử dụng framework nguồn mở Pear Admin Boot với độ trừu tượng hóa cao nhằm giảm thiểu công sức phát triển bổ sung. Framework này được xây dựng dựa trên hệ sinh thái Sprin ...
Đăng vào ngày 13 tháng 9 lúc 00:36
Tổng hợp kiến thức và câu hỏi phỏng vấn Quartz Scheduler cho lập trình viên Java
Khái niệm về Quartz Scheduler
Quartz là một framework lập trình mã nguồn mở dành cho Java, được thiết kế để quản lý các tác vụ định kỳ (Task Scheduling). Nó hỗ trợ triển khai từ các ứng dụng đơn lẻ cho đến các hệ thống phân tán phức tạp. Quartz giúp giải quyết các bài toán về thực thi tác vụ theo thời gian cố định, theo chu kỳ hoặc dựa trên các ...
Đăng vào ngày 12 tháng 9 lúc 07:31
Tối ưu Nguồn Dữ liệu Druid: Quản lý Kết nối, Bộ Lọc và Giám sát
Tham số cốt lõi cho bộ quản lý kết nối
Druid cung cấp các thiết lập chi tiết để tối ưu hiệu năng và độ ổn định:
connectionUri: Chuỗi kết nối đặc thù cho hệ quản trị CSDL (ví dụ: jdbc:mysql://127.0.0.1:3306/app_db?useSSL=false)
credential: Thông tin xác thực bao gồm user và secret (mật khẩu được mã hóa bằng Jasypt)
poolCapacity:
minCapacity: ...
Đăng vào ngày 8 tháng 9 lúc 23:22
Cách viết Shell Script quản lý ứng dụng Spring Boot trên Linux
Để vận hành ứng dụng Spring Boot trên máy chủ Linux một cách hiệu quả, việc tạo script tự động là giải pháp thực tế nhất. Bài viết này trình bày quy trình chi tiết từ cấu hình môi trường đến triển khai script quản lý đầy đủ chức năng.
1. Chuẩn bị môi trường runtime
Đầu tiên cần cài đặt JDK phù hợp. Kiểm tra phiên bản Java hiện có:
java -versi ...
Đăng vào ngày 30 tháng 8 lúc 19:40
Tùy chỉnh chiến lược khóa và thời gian sống bộ nhớ đệm trong Spring Boot với @Cacheable
Trong bài viết trước, chúng ta đã làm quen với các chú giải bộ nhớ đệm cơ bản của Spring như @Cacheable, @CacheEvict và @CachePut. Bài này đi sâu hơn vào hai khía cạnh nâng cao: cách tạo khóa (key) tùy chỉnh và cách thiết lập thời gian sống (TTL) cho dữ liệu được lưu trong bộ nhớ đệm — đặc biệt khi tích hợp với Redis.
I. Môi trường phát triển ...
Đăng vào ngày 30 tháng 8 lúc 11:29