Java Advice 和攔截器都是 AOP(面向切面編程)的概念,用于在方法執行前后添加額外的功能。它們的區別在于:
Java Advice 是 AOP 的核心概念,它是在目標方法執行前后、異常拋出時等特定的切點(Join Point)上執行的代碼段。Java Advice 可以在切點的不同位置執行不同的操作,比如在方法執行前執行某些邏輯,或者在方法拋出異常時執行特定的處理邏輯。
攔截器是一個特定的 Advice 類型,它在方法執行前后、異常拋出時等切點上執行一系列的操作。攔截器通常用于攔截 HTTP 請求或者方法調用,并在執行前后添加額外的功能。攔截器也可以用于權限控制、日志記錄、性能監控等方面。
總的來說,Java Advice 是 AOP 的基本概念,而攔截器是一種具體的實現,是 Java Advice 的一種特定形式。在實際應用中,我們可以使用 Java Advice 或者攔截器來實現在方法執行前后添加額外功能的需求。