Spring 對Ajax的支援

爪哇島的流浪漢發表於2018-07-16

SpringMyBatis第九天        2018/7/13
==========================================
1.Spring對Ajax支援
    為了便於接收和處理Ajax請求,SpringMVC提供JSON響應支援,
    可以很方便地將資料自動轉換成JSON格式字串給客戶端JS
    
    在SpringMVC中,與JSON響應相關的註解@ResponseBody
    
    @ResponseBody註解主要用於Controller元件的處理方法前,具
    體操作如下:
    
    1)引入jackson開發包,示例程式碼採用的是
        jackson-annotation-2.4.1.jar
        jackson-core-2.4.1.jar
        jackson-databind-2.4.1.jar

    2)在Spring配置檔案中定義<mvc:annotation-driven/>,開啟
        對@ResponseBody註解的支援,在Controller處理方法前定
        義@ResponseBody註解
        
2.Spring AOP    
    
    AOP為Aspect Oriented Programming的縮寫,被稱為面向切面
    程式設計,AOP主要用於處理共通邏輯,例如:日誌記錄,安全控制,
    事務管理,異常處理等等,AOP可以將這些共通邏輯從普通業務
    邏輯程式碼中分離出來,在以後修改這些共通邏輯時就不會影響普通
    業務邏輯

    利用AOP可以針對業務邏輯的各個部分進行隔離,從而使得業務邏
    輯各個部分之間的耦合度降低,提高程式的可重用性,同時提高開
    發效率

    AOP,OOP在字面上雖然非常相似,但卻是不同領域的兩種設計思想
        
    OOP(物件導向程式設計)針對業務處理過程中實體的屬性和行為進行
    抽象封裝,以獲得更加清晰高效的邏輯單元劃分

    AOP(面向切面程式設計)針對業務處理過程中的切面進行提取,它面
    對是處理過程中的某個步驟或階段,以獲得邏輯過程中各個部分之
    間低耦合的隔離效果

    AOP需要以OOP為前提和基礎

    什麼是切面
    切面是指封裝共通邏輯的元件,此元件被作用到目標元件的方法上

    什麼是目標
    目標是被一個或多個切面所作用的物件

    什麼是切入點
    切入點是用於指定哪些目標元件的方法使用切面功能
    在Spring中利用一個表示式指定切入點
    
    Spring提供以下常用的切入點表示式
    1)方法限定表示式
        execution(修飾符?返回型別 方法名(引數?) throws 異常型別?)
        
    2)型別限定表示式
        within(包名.型別)

    3)Bean名稱限定表示式    
        bean("Bean的ID或name屬性值")

    什麼是通知
    通知是用於指定切面元件和目標元件作用的時機,例如:切面方法
    在目標方法之前或之後執行等時機

    Spring框架提供以下型別通知:
    前置通知:先執行切面功能再執行目標功能
    後置通知:先執行目標功能再執行切面功能(目標無異常才執行切
                    面功能)
    最終通知:先執行目標功能再執行切面功能(目標有無異常都執行
                    切面功能)
    異常通知:先執行目標功能,丟擲異常後執行切面功能
    環繞通知:先執行切面的前置部分,然後執行目標,最後執行切面
                    的後置部分
                    
    AOP實現原理
    Spring AOP實現主要是基於動態代理技術,當Spring採用AOP配
    置後,Spring容器返回的目標物件實質上是Spring利用動態代理技
    術生成的一個代理型別,代理類重寫了原目標元件方法的功能,在
    代理類中呼叫切面物件功能和目標物件的功能

    Spring框架採用兩種動態代理實現:
    1)利用cglib工具包
        目標沒有提供介面時採用此方法,代理類是利用繼承方式生成一
        個目標子類
        
    2)利用JDK Proxy API
        目標有提供介面時採用此方法,代理類是採用實現目標介面方式
        生成一個目標子類
        
3.XML配置實現AOP
    
    開發步驟:
    1)建立一個類,充當切面元件,實現共通邏輯
    2)宣告切面元件(在配置檔案中)
    3)使用切面元件,在配置檔案中,將切面元件作用到目標元件方
        法    上,設定通知型別以確認切面元件呼叫的時機

4.註解實現AOP

    開發步驟:
    1)建立切面元件
    2)宣告切面元件    
        -在配置檔案中開啟AOP註解掃描
        <aop:aspectj-autoproxy/>
        -使用@Component註解標記標識這個類,將其宣告為元件
        -使用@Aspect註解標記標識這個類,將其宣告為切面元件
    3)使用切面元件
        -在切面元件的方法上,使用註解將切面元件作用到目標元件的
        方法上,並設定通知型別以確認切面元件作用的時機

            
            
    

            
    
                    

        
        
        
        
        
        
        
        
        
        

        

相關文章