Bài 15: Tổng kết, Best Practices và Pitfalls trong Spring AOPMục tiêu bài học Tóm tắt lại toàn bộ nội dung về Spring AOP và các kiến thức đã học. Nhận diện những lỗi phổ biến (Pitfalls) khi sử dụng AOP. Liệt kê những Best Practices giúp sử dụng AOP hiệu quả hơn. Hướng đi nâng cao nếu muốn tối ưu Spring AOP...Jan 30, 2025·29 min read
Bài 10: Giám sát hiệu năng và đo đạc thời gian với AOPMục tiêu bài học Tạo một Performance Aspect dùng @Around Advice để đo thời gian thực thi method. Tích hợp metric thu thập được vào các công cụ giám sát (Prometheus, Grafana, Datadog, New Relic, v.v.). Biết tối ưu hoá tránh overhead quá cao, phân t...Jan 29, 2025·4 min read
Bài 9: Bảo mật và kiểm soát truy cập với AOPMục tiêu bài học Biết cách sử dụng AOP để xử lý security concern (kiểm tra role, permission) ngay tại service method hoặc bất cứ chỗ nào cần. So sánh custom AOP security với Spring Security method-level (@PreAuthorize, @Secured). Học cách tạo cust...Jan 29, 2025·4 min read
Bài 8: Transactional và AOPMục tiêu bài học Hiểu cách @Transactional trong Spring Boot dựa trên AOP (proxy-based) để quản lý transaction. Biết cách sử dụng các propagation, isolation level khác nhau và tình huống phù hợp. Nắm rõ self-invocation (khi method gọi chính nó) dẫn...Jan 29, 2025·4 min read
Bài 7: Thực hành logging với Spring AOPMục tiêu bài học Xây dựng một logging aspect hoàn chỉnh để ghi nhận thông tin phương thức (tên, tham số, thời gian thực thi, v.v.). Tích hợp logging vào tầng Controller và Service, hoặc bất cứ chỗ nào cần log. Quản lý log trong các dự án lớn, kết ...Jan 29, 2025·5 min read
Bài 6: Cách hoạt động Proxy trong Spring AOPMục tiêu bài học Hiểu được cách Spring AOP triển khai AOP thông qua Proxy (JDK Dynamic Proxy hoặc CGLIB). Nắm rõ ưu/nhược điểm của mỗi loại proxy, lý do self-invocation không kích hoạt AOP. So sánh Spring AOP (proxy-based) với AspectJ (compile-tim...Jan 29, 2025·5 min read
Bài 5: Pointcut nâng caoMục tiêu bài học Nắm vững cú pháp và kỹ thuật tạo pointcut nâng cao (regex, annotation, args...). Biết cách kết hợp nhiều biểu thức (&&, ||, !) để lựa chọn joinpoint chính xác. Thực hành một số ví dụ thực tế (lọc theo tên hàm, package, annotation....Jan 29, 2025·5 min read