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)代理模式分离

猜你喜欢

转载自blog.csdn.net/qq_34944851/article/details/66978792