摘要:本文只要記錄的用法,以框架為例。我知道的有兩種實現方法,路徑切入和注解切入,區別在于切點,兩者各有利弊,前者適合批量切入,后者比較靈活,加注解的類才會被切。自定義注解和定義自定義注解,無需其他,標識作用的注解。
大家都知道spring最大的特點就IOC和AOP,IOC是最常用的注入,就是被注入的類上加@Component注解,在需要用到時候,通過 @Autowired注入,不用每次都new出來。當然為了分清層級,@Component通常使用@Repository、@Service、@Controller代替。
本文只要記錄AOP的用法,以springboot框架為例。
個人理解AOP就是攔截器,(可能是我理解不全面,反正我現在就認為它是攔截器,攔截器!攔截器!只不過娶個英文名字而已)。
功能:AOP可以在做某些事情之前或之后強塞一些操作。
我知道的有兩種實現方法,路徑切入和注解切入,區別在于切點,兩者各有利弊,前者適合批量切入,后者比較靈活,加注解的類才會被切。
1、通過路徑切入
2、通過注解切入
1、新建切面類上面加倆注解 @Aspect @Component 缺一不可
2、@Pointcut寫上要切入的包,也可以精確到類
3、@Before切入點之前要處理的業務
4、@After切入點之后要處理的業務
@Aspect @Component public class VisitAop { @Pointcut("execution(public * com.forum.controller.*.*(..))") public void log() { } @Before("log()") public void doBefore(JoinPoint joinPoint) { ........ } @After("log()") public void doAfter() { ........ } }注解切入
1、自定義注解
2、切入類@Aspect @Component 缺一不可
3、@Pointcut寫上要切入注解(意思是帶此注解者,必切!)
4、@Before、@After同上。
1、自定義注解
1.1 @Target和@Retention定義自定義注解,無需其他,標識作用的注解。
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface VisitCount { }
3、切入點
3.1和路徑切入的區別在此
@Pointcut("@annotation(com.Annotation.VisitCount)")JoinPoint
此外可以了解一些doBefore(),的參數JoinPoint,以便操作業務;
1、joinPoint.getSignature().getDeclaringType().getSimpleName(),切入的類名
2、joinPoint.getArgs(),切入方法的參數數組
3、joinPoint.getSignature().getName(),切入方法名
我的博客即將同步至騰訊云+社區,邀請大家一同入駐:https://cloud.tencent.com/dev...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71685.html
摘要:入門和學習筆記概述框架的核心有兩個容器作為超級大工廠,負責管理創建所有的對象,這些對象被稱為。中的一些術語切面切面組織多個,放在切面中定義。 Spring入門IOC和AOP學習筆記 概述 Spring框架的核心有兩個: Spring容器作為超級大工廠,負責管理、創建所有的Java對象,這些Java對象被稱為Bean。 Spring容器管理容器中Bean之間的依賴關系,使用一種叫做依賴...
摘要:本文主要介紹的兩種代理實現機制,動態代理和動態代理。直接使用首先定義需要切入的接口和實現。我實現了一個工廠類來獲取代理對象代理具體使用輸出結果動態代理我們再新建一個來,這次不實現任何接口。 AOP(Aspect Orient Programming),一般稱為面向切面編程,作為面向對象的一種補充,用于處理系統中分布于各個模塊的橫切關注點,比如事務管理、日志、緩存等等。AOP實現的關鍵在...
摘要:入門篇學習總結時間年月日星期三說明本文部分內容均來自慕課網。主要的功能是日志記錄,性能統計,安全控制,事務處理,異常處理等等。 《Spring入門篇》學習總結 時間:2017年1月18日星期三說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示例源碼:https://github.com/zccodere/s...個人學習源碼:https://git...
摘要:的兩大核心機制是控制反轉和面向切面編程,對于初學者來講,搞清楚這兩個核心機制就掌握了的基本應用。配置對象張三添加標簽對應屬性名,是屬性的值。若包含特殊字符,比如張三,使用張三進行配置,如下所示。 前言 對于任何一個 Java 開發人員,Spring 的大名一定如雷貫耳,在行業中可謂是無人不知、無人不曉,說它是 Java 領域第一框架毫不為過。 showImg(https://segme...
摘要:模塊負責的所有面向切面的功能。總結的統一管理,降低了對象之間的耦合對主流的框架提供了很好的集成支持提供眾多組件,事務管理,等具有高度可開放性,開發者可以自由選擇部分或全部主要使用工廠模式和代理模式。 聊完了Spring框架中最重要的兩種設計模式,我們來看一下Spring框架的模塊和結構圖。 Spring框架的結構 下圖是Spring官方給出的Spring框架的結構圖。 showImg(...
閱讀 1460·2021-11-22 14:44
閱讀 2843·2021-11-16 11:44
閱讀 3206·2021-10-13 09:40
閱讀 1980·2021-10-08 10:04
閱讀 2363·2021-09-24 10:28
閱讀 2909·2021-09-06 15:02
閱讀 2957·2019-08-30 15:52
閱讀 2392·2019-08-30 13:20