IoC和AOP的實際應用
阿新 • • 發佈:2018-06-25
邏輯 異常拋出 讀取 運行 異常 通過 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的實際應用