Spring Aop Là Gì

  -  

Ứng dụng của chúng ta thường được cách tân và phát triển với nhiều layer (lớp). Một vận dụng Java điển hình sẽ có các layer như sau:

Web Layer: Nó hiển thị các service bằng cách sử dụng REST hoặc áp dụng Web.

Bạn đang xem: Spring aop là gì

Business Layer: Nó thực hiện các xúc tích và ngắn gọn nghiệp vụ của một ứng dụng.Data Layer: Nó tiến hành các xúc tích và ngắn gọn bền vứng của ứng dụng.

Trách nghiệm của từng layer là không giống nhau, mà lại có một số trong những khía cạnh chung được áp dụng cho toàn bộ các layer là Logging, Security, validation, caching. đa số khía cạnh tầm thường này được điện thoại tư vấn là những mối quan lại tâm xuyên suốt (cross-cutting concern).

Nếu họ thực hiện phần nhiều mỗi vồ cập này trong từng layer không giống nhau, đoạn code của chúng ta sẽ trở cần khó duy trì hơn. Cùng để xử lý vấn đề này, thiết kế hướng khía cạnh (AOP) cung ứng cho ta một chiến thuật để tiến hành các mối ân cần xuyên suốt.

Thực hiện tại mối quan tiền tâm xuyên thấu như một khía cạnh.Xác định những pointcut để đã cho thấy nơi nhưng mà khía cạnh nên được áp dụng.

2. AOP

AOP (hay có cách gọi khác là Aspect-Oriented Programming) là một mẫu lập trình làm tăng tính module bằng cách cho phép phân bóc tách các mối niềm nở xuyên suốt. đông đảo mối quan liêu tâm xuyên thấu này khác với các business logic. Bạn cũng có thể thêm những hành vi bổ sung cập nhật vào đoạn code mà không cần thiết phải chỉnh sửa tới đoạn code của mình.

Spring AOP framework giúp chúng ta thực hiện phần đông mối quan tiền tâm xuyên thấu này.

Sử dụng AOP, bọn họ xác định các chức năng dùng chung tại một nơi. Bạn cũng có thể tự vày xác định phương thức cũng như nơi áp dụng các chức năng này mà không cần thiết phải sửa đổi các class mà họ đang áp dụng những tính năng mới. Mối ân cần xuyên suốt bây giờ đã được module hóa thành những class đặc biệt quan trọng và được gọi là aspect.

Có 2 ích lợi của aspect đó là:

Đầu tiên chính là logic cho các mối quan liêu tâm lúc này ở một địa điểm thay bởi vì nằm rải rác khắp các đoạn mã không giống nhau.Các module nhiệm vụ chỉ cất mã mang lại mối thân mật chính của chúng. Mối niềm nở thứ cung cấp đã được đưa sang cho aspect.

Các aspect có trách nghiệm được triển khai được gọi là advice. Chúng ta cũng có thể triển khai tính năng của một aspect vào trong chương trình tại một hoặc nhiều điểm gia nhập (join point).

3. Lợi ích của AOP

Nó được triển khai bằng Java thuần túy.Không có yêu mong nào mang lại một quy trình biên dịch quánh biệt.Nó chỉ cung ứng thực hiện các method Join point.Có 2 loại proxy AOP bao gồm sẵn đó là: JDK dynamic proxyCGLIB proxy.

4. Côn trùng quan tâm xuyên thấu (Cross-cutting concern)

Mối quan liêu tâm xuyên thấu là mối vồ cập mà họ muốn tiến hành chúng ở nhiều nơi trong một áp dụng và nó làm tác động đến toàn cục ứng dụng của chúng ta.

5. Các thuật ngữ của AOP

Aspect: Aspect(khía cạnh) là 1 trong module đóng góp gói hầu hết advice và các pointcut và cung cấp tính xuyên suốt. Một ứng dụng hoàn toàn có thể có ngẫu nhiên khía cạnh nào. Bạn có thể triển khai một khía cạnh bằng phương pháp sử dụng class thường thì với annotation
Aspect.

Xem thêm: Là Gì? Nghĩa Của Từ Turn In Là Gì Và Cấu Trúc Cụm Từ Turn In Trong Câu Tiếng Anh

Pointcut: pointcut là 1 biểu thức lựa chọn 1 hoặc những điểm nối(join poin) vị trí advice được thực thi. Chúng ta có thể xác định các pointcut bằng phương pháp sử dụng các biểu thức hoặc những mẫu. Nó sử dụng các loại biểu thức không giống nhau cân xứng với những điểm tham gia.Join point: Join point là 1 trong điểm trong áp dụng nơi chúng ta áp dụng cẩn thận AOP.Advice: Advice là một hành động mà họ thực hiện trước hoặc sau khi method thực hiện. Bao gồm 5 loại advice trong Spring AOP framework kia là: before, after, after-returning, after-throwing,andaround advice. Các advice được áp dụng cho một join point cụ thể. Chúng ta sẽ thảo luận phần này ở nội dung bài viết sau.Target object: Đối tượng mà lại được các advice áp dụng thì được call là target object. Target object thì luôn là một proxy. Nó tức là một lớp nhỏ được tạo nên tại thời điểm chạy, trong số ấy phương thức đích bị ghi đè và các advice được chuyển vào dựa trên thông số kỹ thuật của chúng.Weaving: Nó là một quy trình liên kết những khía cạnh với những loại vận dụng khác. Bạn cũng có thể thực hiện nó tại các thời điểm như: run time, load time,compile time.

Proxy: Nó là một đối tượng được chế tạo ra ra sau khoản thời gian áp dụng advice cho target object. Spring AOP triển khai JDK dynamic proxy nhằm tạo những lớp proxy với những lớp mục tiêu. Bọn chúng được hotline là những proxy AOP class.

6. So sánh AOP cùng OOP

AOPOOP
Aspect: bao gồm pointcut, advice với attribute.Class: bao hàm các method và attribute.
Pointcut: Nó xác minh tập hợp những điểm vào mà advice được thực hiện.Method signature: Nó xác minh các điểm nguồn vào để thực hiện phần thân của phương thức.
Advice: Nó là 1 triển khai các mối thân thiết xuyên suốt.Method bodies: Nó là một trong triển khai của các business logic.
Waver: Nó xuất bản mã với advice.Compiler: Nó biến đổi mã nguồn thành mã đối tượng.
*

7. Spring Boot Starter AOP

Spring Boot Starter AOP là 1 trong phụ thuộc cung ứng Spring AOP với AspectJ. Trong các số đó AOP cung cấp các tài năng AOP cơ phiên bản trong khi AspectJ cung ứng một size framework AOP trả chỉnh/

org.springframework.boot spring-boot-starter-aop 2.2.2.RELEASE 8. Kết luận

Ở bài viết này, chúng ta đã cùng tò mò những kiến thức cơ bản về AOP.

Xem thêm: Game Đối Kháng 2 Người Chơi

Trong bài sau bọn họ sẽ cùng tìm hiểu các một số loại advice khác nhau có vào ứng dung.