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

Tìm hiểu chi tiết bên trong JVM

JVM (Java Virtual Machine) là một máy ảo. Nó cung cấp môi trường runtime, nơi mà mã Java bytecode sẽ được thực thi.

Sự Khác nhau giữa JDK, JRE và JVM

Trước khi thực sự đặt tay gõ các dòng code Java, cài đặt Java thì chúng ta phải hiểu sự khác nhau giữa JDK, JRE và JVM.

Hướng dẫn Cài đặt đường dẫn PATH trong Java

Nếu bạn tạo dự án Java bên ngoài thư mục JDK / bin, thì cần phải thiết lập đường dẫn của JDK. Đây là 2 cách cài đặt đường dẫn path trong Java.

Cách hoạt động của Chương trình Java: Hello Java

Tìm hiểu những gì xảy ra trong khi biên dịch và chạy chương trình java. Hơn nữa, chúng ta sẽ làm rõ một số câu hỏi ở chương trình Hello Java của chúng ta.

Viết Chương trình Java đầu tiên: Hello Java

Trong bài hướng dẫn này, chúng ta sẽ học cách viết chương trình đơn giản đầu tiên với ngôn ngữ lập trình Java. Qua bài này bạn sẽ biết cách viết Java, Compile và chạy một chương trình Java bất kỳ

So sánh JAVA vs C++

Hôm nay trong bài viết này mình sẽ so sánh Java vs C++. Còn nếu bạn muốn đọc thêm về so sánh Java vs PHP hay Java với C# thì xem thêm tại đây:

Leave a reply

Please enter your comment!
Please enter your name here