SSH框架之Spring的aop編程、手動實現aop編程

AOP 面向切面的編程,AOP可以實現“業務代碼”與“關注點代碼”分離。
一、AOP編程專業名詞:
1、Aop,aspect object programming,面向切面編程
功能: 讓關注點代碼與業務代碼分離。

2、關注點:重複代碼就叫做關注點。
3、切面:關注點形成的類,就叫切面(類)。

4、面向切面編程:就是指對很多功能都有的重複的代碼抽取,再在運行的時候往業務方法上動態植入“切面類代碼”。

5、切入點(問題:執行目標對象方法(目標對象方法有很多,執行哪些?),動態植入切面代碼)
作用:可以通過切入點表達式,指定攔截哪些類的哪些方法; 給指定的類在運行的時候植入切面類代碼。

二、手動實現AOP編程:

// 保存一個用戶
public void add(User user) { 
    Session session = null; 
    Transaction trans = null; 
    try { 
        session = HibernateSessionFactoryUtils.getSession();   // 【關注點代碼】
        trans = session.beginTransaction();    // 【關注點代碼】

        session.save(user);     // 核心業務代碼

        trans.commit();     //【關注點代碼】

    } catch (Exception e) {     
        e.printStackTrace(); 
        if(trans != null){ 
            trans.rollback();   //【關注點代碼】
        } 
    } finally{ 
        HibernateSessionFactoryUtils.closeSession(session);   //【關注點代碼】
    } 
} 

1、手動實現AOP編程實例代碼:

2、分析總結:
1)關注點代碼,就是指重複執行的代碼。
2)業務代碼與關注點代碼分離,好處:
a)關注點代碼寫一次即可。
b)開發者只需要關注核心業務。
c)運行時期,執行核心業務代碼時候動態植入關注點代碼【代理】。

3、如何分離?
1)過程式 2)對象式
3)代理模式分離

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章