Ví dụ chú thích Spring AOP AspectJ

Các Spring Framework khuyến cáo bạn sử dụng thực hiện Spring AspectJ AOP trong Spring 1.2 cũ theo phong cách dtd thực hiện dựa AOP bởi vì nó cung cấp cho bạn kiểm soát nhiều hơn và nó rất dễ dàng để sử dụng.

java-spring
Spring AOP AspectJ Annotation Example

Có hai cách để sử dụng triển khai Spring AOP AspectJ:

  1. Bằng cách chú thích: Chúng ta sẽ tìm hiểu nó ở đây.
  2. Theo cấu hình xml (dựa trên lược đồ): Chúng ta sẽ tìm hiểu nó trong trang tiếp theo.

Triển khai Spring AspectJ AOP cung cấp nhiều chú thích:

  1. @Aspect tuyên bố lớp là khía cạnh.
  2. @Pointcut khai báo biểu thức pointcut.

Các chú thích được sử dụng để tạo lời khuyên được đưa ra dưới đây:

  1. @ Trước khi tuyên bố lời khuyên trước. Nó được áp dụng trước khi gọi phương thức thực tế.
  2. @Sau khi tuyên bố lời khuyên sau. Nó được áp dụng sau khi gọi phương thức thực tế và trước khi trả về kết quả.
  3. @AfterRetinating tuyên bố sau khi trả lại lời khuyên. Nó được áp dụng sau khi gọi phương thức thực tế và trước khi trả về kết quả. Nhưng bạn có thể nhận được giá trị kết quả trong lời khuyên.
  4. @Around tuyên bố những lời khuyên xung quanh. Nó được áp dụng trước và sau khi gọi phương thức thực tế.
  5. @AfterThrowing tuyên bố lời khuyên ném. Nó được áp dụng nếu phương pháp thực tế ném ngoại lệ.

Hiểu về Pointcut

Pointcut là một ngôn ngữ biểu hiện của Spring AOP.

Các @Pointcut chú thích được sử dụng để xác định các pointcut. Chúng ta có thể tham khảo biểu thức pointcut theo tên cũng. Chúng ta hãy xem ví dụ đơn giản về biểu thức pointcut.

@Pointcut ( "thực thi (* Hoạt động. * (..))" )  
private void  doS Something () {}   

Tên của biểu thức pointcut là doS Something (). Nó sẽ được áp dụng trên tất cả các phương thức của lớp Hoạt động bất kể kiểu trả về.

Hiểu biểu thức Pointcut

Chúng ta hãy thử hiểu các biểu thức cắt điểm bằng các ví dụ được đưa ra dưới đây:

@Pointcut ( "thực thi (công khai * * (..))" )  

Nó sẽ được áp dụng trên tất cả các phương pháp công cộng.

@Pointcut ( "thực thi (Hoạt động công khai. * (..))" )  

Nó sẽ được áp dụng trên tất cả các phương thức công khai của lớp Hoạt động.

@Pointcut ( "thực thi (* Hoạt động. * (..))" )  

Nó sẽ được áp dụng trên tất cả các phương thức của lớp Hoạt động.

@Pointcut ( "thực thi (công khai Employee.set * (..))" )  

Nó sẽ được áp dụng trên tất cả các phương thức setter công khai của lớp Nhân viên.

@Pointcut ( "thực thi (int Hoạt động. * (..))" )  

Nó sẽ được áp dụng trên tất cả các phương thức của lớp hoạt động trả về giá trị int.

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