Spring復習[未完待續(xù)]

Spring框架宗旨:不重新發(fā)明技術,讓原有的技術使用起來更加方便
Spring三大核心功能
1.IoC/DI 控制反轉 依賴注入
Ioc完成的事情原先由程序員主動通過new實例化對象事情,轉交給Spring負責
控制:控制類的對象
反轉:轉交給Spring負責
最大作用解耦:程序員不需要管理對象,解除了對象管理和程序員之間的耦合

  1. AOP 面向切面編程
    在原有縱向執(zhí)行流程中添加橫切面,不需要修改原有代碼,具有高擴展性,原有功能相當于釋放了部分邏輯,讓職責更加明確


    常用概念

    1. 原有功能:切點, pointcut
    2. 前置通知:在切點之前執(zhí)行的功能.before advice
    3. 后置通知:在切點之后執(zhí)行的功能,after advice
    4. 如果切點執(zhí)行過程中出現(xiàn)異常,會觸發(fā)異常通知,throws adivce
    5. 所有功能總稱為叫做切面.
    6. 織入:吧切面嵌入到原有功能的過程叫做織入

    Spring提供了2種 AOP 實現(xiàn)方式
    2.1 Schema-based
    1)每個通知都需要實現(xiàn)接口或類
    2)配置spring配置文件在<aop:config>配置
    2.1.2 具體實現(xiàn)步驟
    1.1)前置通知類配置 導入多需要的jar包或依賴(aopalliance.jar和aspectjweaver.jar)
    1.2)新建前置通知類 并且繼承 MethBeforeAdvice

public class MyBeforeAdvice implements MethodBeforeAdvice{
    @Override
    public void before(Method arg0,Object[] arg1,Object arg2) throws Throwable{
        System.out.println("執(zhí)行前置通知");
    }
}

2.1 新建后置通知 實現(xiàn) AfterReturningAdvice接口
(arg0:切點對象返回值,arg1:切點方法對象,arg2:切點方法參數(shù),arg3:切點方法所在類對象)


public class MyAfterAdvice implements AfterReturningAdvice{
    @Override
    public void before(Object arg0, Method arg1,Object[] arg2,Object arg3) throws Throwable{
        System.out.println("執(zhí)行前置通知");
    }
}

3.配置spring配置文件
3.1 引入aop命名空間
3.2 配置通知類的<bean>
3.3 配置切面
3.4 * 通配符,匹配任意方法名,任意類名,任意一級包名
3.5 如果希望匹配任意方法參數(shù)(..)

2.2 AspectJ
1)每個通知不需要實現(xiàn)接口或類
2)配置Spring配置文件是在<aop:config>的子標簽<aop:aspect>中配置
3) 配置異常通知的步驟
只有當切點報異常才會觸發(fā)異常通知,如果想使用schema-base,需要按照特定的要求自己編寫

  1. 聲明式事務

. Spring依賴注入
當一個類(A)中需要依賴另外一個類(B)對象時,把B賦值給A的過程就叫依賴注入
DI有三種方式,分別為:

  1. 接口注入
  2. Setter方法注入
  3. 構造方法注入
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容