美文网首页
静态代理

静态代理

作者: 康明 | 来源:发表于2017-01-05 14:46 被阅读0次

静态代理,

1) 代理对象,要实现与目标对象一样的接口;

2) 举例

:

        保存用户(模拟)

            Dao  ,  直接保存

            DaoProxy,给保存方法添加事务处理
// 接口
public interface IUserDao {

    void save();
}
//接口的实现
public class UserDao implements IUserDao{

    @Override
    public void save() {
        System.out.println("-----已经保存数据!!!------");
    }

}

//创建代理

/**
 * 代理对象(静态代理)
 *     代理对象,要实现与目标对象一样的接口
 * @author Jie.Yuan
 *
 */
public class UserDaoProxy implements IUserDao{

    // 接收保存目标对象
    private IUserDao target;
    public UserDaoProxy(IUserDao target) {
        this.target = target;
    }
    
    @Override
    public void save() {
        System.out.println("开始事务...");
        
        target.save();          // 执行目标对象的方法
        
        System.out.println("提交事务...");
    }
    
    
    
}
//调用
public class App {

    public static void main(String[] args) {
        // 目标对象
        IUserDao target = new UserDao();
        
        // 代理
        IUserDao proxy = new UserDaoProxy(target);
        proxy.save();  // 执行的是,代理的方法
    }
}

总结静态代理:

1)可以做到在不修改目标对象的功能前提下,对目标对象功能扩展。

2)缺点:

    --》  因为代理对象,需要与目标对象实现一样的接口。所以会有很多代理类,类太多。

    --》  一旦接口增加方法,目标对象与代理对象都要维护。

解决:

代理工厂?

可以使用动态代理。

相关文章

  • JAVA动态代理的实现方式

    1. 静态代理VS动态代理 代理类可以增强被代理对象的方法。可分为静态代理和动态代理。 1.1 静态代理 静态代理...

  • 带你初识Java的代理模式

    Spring AOP是基于动态代理设计模式实现的,相对的就有静态代理 动态代理和静态代理 静态代理 对于静态代理,...

  • 编程常用的设计模式

    动态代理和静态代理 静态代理 动态代理 静态代理与动态代理的区别 JDK中的动态代理和CGLIB 实现动态代理的方...

  • 静态AOP

    静态代理 代理分为静态代理和动态代理。静态代理由程序员创建或工具生成代理类的源码,再编译代理类,所谓静态也就是在程...

  • 静态代理、动态代理

    代理分为静态代理和动态代理 按照代理创建的时期,可以分为静态代理和动态代理: (1) 静态代理:由程序员或者...

  • 静态代理

    静态代理, : //创建代理 总结静态代理: 解决: 可以使用动态代理。

  • 浅谈Java和SAP ABAP的静态代理和动态代理,以及ABAP

    文章目录 Java的静态代理 静态代理的优缺点 ABAP的静态代理 Spring AOP的动态代理 JDK动态代理...

  • 设计模式-动态代理模式

    之前介绍了代理模式,大家也都了解了代理模式,不过之前介绍的代理模式是静态代理,静态代理什么意思?静态代理指的是代理...

  • 代理-静态代理

    一、静态代理实现 按照代理模式的类图: 静态代理,代理类在编译时生成;即,需要编码代理类。 从实现上来看,静态代理...

  • 动态代理

    根据代理类的生成时间不同可以将代理分为静态代理和动态代理两种。 静态代理 先看下静态代理的例子。以链家中介代理租赁...

网友评论

      本文标题:静态代理

      本文链接:https://www.haomeiwen.com/subject/fbkzvttx.html