设计模式-代理类proxy:一个接口多个实现类(基于spring框架)

来源:互联网 发布:caxa数控车编程教程 编辑:程序博客网 时间:2024/06/05 08:05

根据前台返回的不同参数,选择一个接口不同的实现类来实现不同业务逻辑,我们用到了proxy代理类。

首先是spring.xml 配置文件 如下:(proxy 表示代理类  ××ServiceImpl 表示实现类)


<bean id="接口名称" >
        <property name="target" ref="proxy"></property>
    </bean>


<bean id="proxy“ class= ”代理类地址“>

 <property name="××ServiceImpl1" ref="××ServiceImpl1"></property>

 <property name="××ServiceImpl2" ref="××ServiceImpl2"></property>

</bean>


<bean id="××ServiceImpl1" class=""></bean>

<bean id="××ServiceImpl2" class=""></bean>


代理类代码

public class proxy implements 接口 {

//获取两个实现类

public 接口 ××ServiceImpl1 ;

public 接口 ××ServiceImpl2 ;

//获取不同实现类的成员变量 service

public 接口 service;

 三者的get set 方法;

public 接口 getService(){

if(判断使用哪个实现类的条件){

service = ××ServiceImpl1 ;

}else{

service = ××ServiceImpl12;

}

}

//通过getservice方法,可以调用不同的实现类的方法实现
    @Override
接口方法1{getService.接口方法1();   }
 @Override
接口方法2{getService.接口方法2();    }


}






0 0