1. 程式人生 > >IoC和AOP的實際應用

IoC和AOP的實際應用

邏輯 異常拋出 讀取 運行 異常 通過 XML 面向對象 描述

Spring IoC 控制反轉:也稱為依賴註入,是面向對象編程中的一種設計理念,用來降低程序代碼之間的耦合度。

//通過ClassPathXmlApplicationContext實例化Spring的上下文
        ApplicationContext context = new ClassPathXmlApplicationContext("app.xml");
        //通過ApplicationContext的getBean()方法,根據id來獲取Bean的實例
        person p = (person)context.getBean("say");
        p.say();

ApplicationContext是一個接口,負責讀取Spring配置文件。ClassPathXmlApplicationContext是ApplicationContxet接口的實現類,用於從classpath路徑中讀取Spring配置文件。

切面編程的基本概念:

 1.切面:一個模塊化的橫切邏輯,可能會橫切多個對象

  2.連接點:程序執行中的某個具體的執行點。

  3.增強處理:切面在某個特定連接點上執行的代碼邏輯.。

  4.切入點:對連接點的特征進行描述,可以使用正則表達式。增強處理和一個切入點表達式相關聯,並在與這個切入點匹配的某個連接點上運行

  5.目標對象:被一個或多個切面增強的對象

  6.AOP代理:由AOP框架所創建的對象,實現執行增強處理方法等功能

  7.織入:將增強處理連接到應用程序中的類型或對象上的過程

  使用p命名空間實現屬性註入

<bean id="zhang2" class="cn.bdqn.demo1.zhang" p:name="張四" p:things="在跑步">
    </bean>

異常拋出增強

<aop:after-throwing method="afterThrowing" pointcut-ref="hhh" throwing="e"/>

最終增強

<aop:after method="
after" pointcut-ref="hhh" arg-names="joinpoint"/>

環繞增強

<aop:around method="around" pointcut-ref="hhh" arg-names="joinpoint"/>

IoC和AOP的實際應用