Các vấn đề liên quan đến AOP Spring

Các vấn đề liên quan đến AOP Spring
1. Lợi ích khi sử dụng Spring AOP
+ Chức năng chính của chương trình không cần biết đến các chức năng phụ khác
+ Các chức năng phụ có thể được thêm thắt, bật tắt lúc runtime tùy theo yêu cầu
+ Các thay đổi, sửa lỗi, nâng cấp nếu có đối với các chức năng phụ sẽ không ảnh hưởng đến chương trình chính.

+ Hệ thống sẽ uyển chuyển và giảm thiểu tính phụ thuộc lẫn nhau của các module

2. Các thuật ngữ thường gặp trong AOP
+ Join point: Một điểm trong chương trình. Ví dụ như ta cần ghi log lại sau khi chạy method thì điểm ngay sau method đó được thực thi gọi là một jointpoint để có thể chạy những xử lý ghi file log. Join point theo nghĩa của nó có thể hiểu là những nơi có thể được chèn những “custom action” của bạn.
+ Pointcut: Có nhiều cách để xác định joinpoint, những cách như thế được gọi là pointcut.
+ Advice: là những xử lý phụ được thêm vào xử lý chính. Code để thực hiện các xử lý đó được gọi là Advice. Vì các xử lý phụ có thể thêm vào trước hoặc sau hoặc cả hai đối với những xử lý chính nên có nhiều loại Advice khác nhau mà ta sẽ đề cập trong những phần sau.
+ Aspect: thường dùng ở dạng annotation (@AspectJ), thay vì tạo class implement MethodBeforeAdvice thì ta dùng @Before trên method. Xem thêm chi tiết và ví dụ ở bài sau.
+ Weaving(đan xen): là tiến trình link các aspects với các loại application hoặc các đối tượng tạo nên 1 adviesd.

3. Spring aop với aspectj
Làm thế nào để tích hợp AspectJ annotation với Spring AOP framework.
AspectJ annotations thông thường là:
  1. @Before – Được thực thi chèn vào trước khi phương thức được gọi
  2. @After – Được thực thi sau khi phương thức đã kết thúc
  3. @AfterReturning – – Được thực thi sau khi phương thức trả về kết quá
  4. @AfterThrowing – Được thực thi sau khi phương thức xảy ra exception
  5. @Around – Run around the method execution, combine all three advices above

No comments:

Post a Comment