Hướng dẫn AOP Spring

Lập trình hướng đối tượng (AOP) khen ngợi OOP theo nghĩa là nó cũng cung cấp tính mô đun. Nhưng đơn vị chính của mô-đun là khía cạnh hơn lớp.

lap-trinh-java-Spring
Spring AOP Tutorial

AOP phá vỡ logic chương trình thành các phần riêng biệt (được gọi là mối quan tâm). Nó được sử dụng để tăng tính mô đun bằng các mối quan tâm xuyên suốt.

Một mối quan tâm xuyên suốt là mối quan tâm có thể ảnh hưởng đến toàn bộ ứng dụng và nên được tập trung tại một vị trí trong mã càng tốt, chẳng hạn như quản lý giao dịch, xác thực, ghi nhật ký, bảo mật, v.v.

Tại sao nên sử dụng AOP?

Nó cung cấp cách thức có thể cắm để tự động thêm mối quan tâm bổ sung trước, sau hoặc xung quanh logic thực tế. Giả sử có 10 phương thức trong một lớp như dưới đây:

class A{  
public void m1(){...}  
public void m2(){...}  
public void m3(){...}  
public void m4(){...}  
public void m5(){...}  
public void n1(){...}  
public void n2(){...}  
public void p1(){...}  
public void p2(){...}  
public void p3(){...}  
}  

Có 5 phương thức bắt đầu từ m, 2 phương thức bắt đầu từ n và 3 phương thức bắt đầu từ p.

Hiểu kịch bản Tôi phải duy trì nhật ký và gửi thông báo sau khi gọi các phương thức bắt đầu từ m.

Vấn đề không có AOP Chúng ta có thể gọi các phương thức (duy trì nhật ký và gửi thông báo) từ các phương thức bắt đầu bằng m. Trong kịch bản như vậy, chúng ta cần viết mã theo tất cả 5 phương thức.

Nhưng, nếu khách hàng nói trong tương lai, tôi không phải gửi thông báo, bạn cần thay đổi tất cả các phương thức. Nó dẫn đến vấn đề bảo trì.

Giải pháp với AOP Chúng ta không phải gọi các phương thức từ phương thức. Bây giờ chúng ta có thể định nghĩa mối quan tâm bổ sung như duy trì nhật ký, gửi thông báo, v.v. trong phương thức của một lớp. Mục nhập của nó được đưa ra trong tập tin xml.

Trong tương lai, nếu khách hàng nói để loại bỏ chức năng trình thông báo, chúng ta chỉ cần thay đổi trong tệp xml. Vì vậy, bảo trì dễ dàng trong AOP.

Sử dụng AOP ở đâu?

AOP chủ yếu được sử dụng trong các trường hợp sau:

  • để cung cấp dịch vụ doanh nghiệp khai báo như quản lý giao dịch khai báo.
  • Nó cho phép người dùng thực hiện các khía cạnh tùy chỉnh.

Khái niệm và thuật ngữ AOP

Các khái niệm và thuật ngữ AOP như sau:

  • Tham gia điểm
  • Khuyên bảo
  • Mũi nhọn
  • Giới thiệu
  • Đối tượng mục tiêu
  • Khía cạnh
  • Đánh chặn
  • Proxy AOP
  • Dệt

Tham gia điểm

Điểm tham gia là bất kỳ điểm nào trong chương trình của bạn, chẳng hạn như thực thi phương thức, xử lý ngoại lệ, truy cập trường, v.v. Spring chỉ hỗ trợ điểm tham gia thực hiện phương thức.

Khuyên bảo

Lời khuyên đại diện cho một hành động được thực hiện bởi một khía cạnh tại một điểm tham gia cụ thể. Có nhiều loại lời khuyên khác nhau:

  • Trước lời khuyên : nó thực thi trước một điểm tham gia.
  • Sau khi trả lại lời khuyên : nó thực thi sau khi điểm chung hoàn thành bình thường.
  • Sau khi ném lời khuyên : nó thực thi nếu phương thức thoát bằng cách ném ngoại lệ.
  • Lời khuyên sau (cuối cùng) : nó thực thi sau một điểm tham gia bất kể thoát khỏi điểm tham gia cho dù trả về bình thường hay đặc biệt.
  • Xung quanh lời khuyên : Nó thực thi trước và sau một điểm tham gia.

Mũi nhọn

Đây là ngôn ngữ biểu đạt của AOP khớp với các điểm nối.

Giới thiệu

Nó có nghĩa là giới thiệu phương pháp bổ sung và các trường cho một loại. Nó cho phép bạn giới thiệu giao diện mới cho bất kỳ đối tượng được tư vấn.

Đối tượng mục tiêu

Đó là đối tượng tức là được tư vấn bởi một hoặc nhiều khía cạnh. Nó còn được gọi là đối tượng proxy vào mùa xuân vì Spring AOP được triển khai bằng cách sử dụng proxy thời gian chạy.

Khía cạnh

Đây là một lớp có chứa lời khuyên, điểm tham gia, vv

Đánh chặn

Đó là một khía cạnh chỉ chứa một lời khuyên.

Proxy AOP

Nó được sử dụng để thực hiện các hợp đồng khía cạnh, được tạo bởi khung AOP. Nó sẽ là proxy động JDK hoặc proxy CGLIB trong khung mùa xuân.

Dệt

Đó là quá trình liên kết khía cạnh với các loại ứng dụng hoặc đối tượng khác để tạo ra một đối tượng được tư vấn. Dệt có thể được thực hiện tại thời gian biên dịch, thời gian tải hoặc thời gian chạy. Spring AOP thực hiện dệt trong thời gian chạy.

Triển khai AOP

Việc triển khai AOP được cung cấp bởi:

  1. AspectJ
  2. Mùa xuân AOP
  3. JBoss AOP

Spring AOP

Spring AOP có thể được sử dụng theo 3 cách được đưa ra dưới đây. Nhưng cách tiếp cận được sử dụng rộng rãi là Phong cách chú thích Spring AspectJ. 3 cách sử dụng AOP mùa xuân được đưa ra dưới đây:

  1. Bởi Spring1.2 Kiểu cũ (dựa trên dtd) (cũng được hỗ trợ trong Spring3)
  2. Theo phong cách chú thích AspectJ
  3. Theo kiểu cấu hình XML của Spring (dựa trên lược đồ)

Bài viết gần đây

Java Lambda: Hướng dẫn cho người mới bắt đầu

Bài viết này giải thích các biểu thức Java Lambda trong Java 8. Biểu thức Lambda Java

Ví dụ về Tải xuống tệp từ máy chủ bằng cách sử dụng JSP

Trong ví dụ này, chúng tôi sẽ tải xuống tệp jsp. Nhưng bạn có thể tải xuống bất kỳ tập tin. 

Hướng dẫn sử dụng Spring JdbcTemplate

Spring JdbcTemplate là một cơ chế mạnh mẽ để kết nối với cơ sở dữ liệu và thực hiện các truy vấn SQL. Nó sử...

Hướng dẫn chủ đề Java

Một Instance of Thread là một đối tượng giống như bất kỳ đối tượng nào khác trong Java và nó chứa các biến và...

Tải tập tin lên máy chủ bằng cách sử dụng JSP

Có nhiều cách để tải tệp lên máy chủ. Một trong những cách là bởi lớp MultipartRequest. Để sử dụng lớp này,...

Ví dụ cấu hình Spring AOP AspectJ Xml

Spring cho phép bạn xác định các khía cạnh, lời khuyên và điểm nhấn trong tệp xml. Trong trang...

Leave a reply

Please enter your comment!
Please enter your name here