Spring註解大全(二)

2021-10-18 10:49:19 字數 3338 閱讀 8454

目錄:

定義切點,切點表示式(execution(許可權訪問符 返回值型別 方法所屬的類名包路徑.方法名(形參型別) 異常型別))

@aspect@component

public class afterthrowingaspect

.......

}

前置增強,配合@pointcut一起使用

@aspect@component

public class afterthrowingaspect

//前置增強

@before("pointcut()")

public void before(joinpoint jp)

}

後置增強,配合@pointcut一起使用

@aspect

@component

public class afterthrowingaspect

//前置增強

@before("pointcut()")

public void before(joinpoint jp)

//後置增強

@afterreturning(value = "pointcut()",returning = "obj")

public void afterreturning(joinpoint jp,object obj)

}

環繞增強,配合@pointcut一起使用

@aspect

@component

public class afterthrowingaspect

//前置增強

@before("pointcut()")

public void before(joinpoint jp)

//後置增強

@afterreturning(value = "pointcut()",returning = "obj")

public void afterreturning(joinpoint jp,object obj)

//環繞增強

@around("pointcut()")

public void around(proceedingjoinpoint jp) throws throwable

}

異常丟擲增強,配合@pointcut一起使用

@aspect

@component

public class afterthrowingaspect

//前置增強

@before("pointcut()")

public void before(joinpoint jp)

//後置增強

@afterreturning(value = "pointcut()",returning = "obj")

public void afterreturning(joinpoint jp,object obj)

//環繞增強

@around("pointcut()")

public void around(proceedingjoinpoint jp) throws throwable

//異常丟擲增強

@afterthrowing(value = "pointcut()",throwing = "e")

public void error(joinpoint jp,exception e)

}

最終增強(最後執行),配合@pointcut一起使用

@aspect

@component

public class afterthrowingaspect

//前置增強

@before("pointcut()")

public void before(joinpoint jp)

//後置增強

@afterreturning(value = "pointcut()",returning = "obj")

public void afterreturning(joinpoint jp,object obj)

//環繞增強

@around("pointcut()")

public void around(proceedingjoinpoint jp) throws throwable

//異常丟擲增強

@afterthrowing(value = "pointcut()",throwing = "e")

public void error(joinpoint jp,exception e)

//最終增強

@after("pointcut()")

public void after(joinpoint jp)

}

*重點 單獨一篇文章講解

用來標記快取查詢。可用用於方法或者類中。(簡介)

當標記在乙個方法上時表示該方法是支援快取的,

當標記在乙個類上時則表示該類所有的方法都是支援快取的。

*重點 單獨一篇文章講解

用來標記要清空快取的方法,當這個方法被呼叫後,即會清空快取。@cacheevict(value=」usercache」)

適用於bean屬性setter方法,並表示受影響的bean屬性必須在xml配置檔案在配置時進行填充。否則,容器會丟擲乙個beaninitializationexception異常。

通俗的講:該註解放在setter方法上,表示當前的setter修飾的屬性必須在spring.xml中進行裝配,否則報錯beaninitializationexception異常,所以這是個檢查註解。

public class student 

@required //該注釋放在的是set方法中,如果沒有在xml配置檔案中配置相關的屬性,就會報錯

public void setage(integer age)

}<?xml version="1.0" encoding="utf-8"?>

報錯:「 property 'age' is required for bean 'student' 」

Spring註解大全

spring4之後加入的註解,原來在 controller中返回json需要 responsebody來配合,如果直接用 restcontroller替代 controller就不需要再配置 responsebody,預設返回json格式。crossorigin restcontroller pub...

Spring註解大全(三)

目錄 所有方法在呼叫前,先執行此 modelattribute方法.a.標註在有返回值的方法上 當modelattribute設定了value,方法返回的值會以這個value為key,以引數接受到的值作為這個key對應的value,組成k v鍵值對,存入到model中,如下面的方法執行之後,最終相當...

spring註解驅動(二)

import 給容器中註冊元件的方式 包掃瞄 註解標註註解 controller service repository component 侷限於自己寫的類 bean 匯入第三方包裡面的元件 import 快速給容器匯入乙個元件 import 要匯入到容器的元件 容器中就會自動註冊這個元件,id預設...