关闭

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

标签: 代理类设计模式spring
1293人阅读 评论(0) 收藏 举报

根据前台返回的不同参数,选择一个接口不同的实现类来实现不同业务逻辑,我们用到了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
查看评论

spring注解识别一个接口的多个实现类

1.比如有一个接口如下: [java] view plain copy public interface Filter {       ...
  • a36600003
  • a36600003
  • 2017-04-10 13:34
  • 4043

@Qualifier:一个接口或服务有多个实现,如何指定实现类

接口或服务 public interface CacheServiceextends Serializable, K extends Serializable> { } 实现类1 @Service("redisCacheService") public cl...
  • wangfei0904306
  • wangfei0904306
  • 2016-12-13 12:56
  • 2448

spring注解识别一个接口的多个实现类

转载自:http://blog.csdn.net/wangfei0904306/article/details/53608373 接口或服务 public interface CacheServiceextends Serializable, K extends Serializable...
  • zhouxuyi518
  • zhouxuyi518
  • 2018-01-29 14:39
  • 21

一个接口有多个实现类,当调用接口中的方法时,如何判定用的是哪个实现类

一、简单例子: 1. 直接new一个实例,这样肯定知道用的哪个实例 2. 定义接口类型的变量,用某个实例去初始化。。。这样也是肯定知道用的哪个实例 一般我们用第二种方式有一个好处,如果以后要改动,那么只需要修改其引用的实例,改动较少! 举个例子:A接口,A1,...
  • xiaosongwahaha
  • xiaosongwahaha
  • 2017-12-19 22:54
  • 619

Java 设计模式 接口型模式 之 类型介绍 (一)

接口型模式组成 : 该模式包括适配器(Adapter)模式,外观(Facade)模式,合成(Composite)模式,桥接(Bridge)模式 四种模式; 类的接口 :  -- 前置条件 : 接口A, 类B, 类B实...
  • jdsjlzx
  • jdsjlzx
  • 2014-03-04 14:04
  • 1925

代理的三种方法

Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果...
  • w_wensan
  • w_wensan
  • 2017-04-19 09:19
  • 684

Spring 一个接口多个实现注入

Spring  一个接口多个实现注入: public interface  Car{}; public class BigCar implements Car{}; public class SmallCar implements Car{}; 第一种: ...
  • c_c123
  • c_c123
  • 2016-06-20 17:20
  • 4672

Spring用@Autowire向一个类注入一个接口的两个实现类

@Service public class AaaService implements IChangePassword { @Override public void changePassword(String username, String password) { } ...
  • u011734144
  • u011734144
  • 2016-09-29 10:23
  • 9646

@resource、@Autowired、@Service在一个接口多个实现类中的应用

Spring在没有引入注解之前,传统的Spring做法是使用.xml文件来对bean进行注入,所有的内容都需要配置在.xml文件中,使配置和编程分离,却增加了可读性和复杂度。        Spring注解将复杂的配置文件用简单@xxx代替,当出现一个接...
  • jisuli1987
  • jisuli1987
  • 2017-07-24 19:34
  • 2847

spring注解 实现一个接口多个实现类的区分

相应的包 import javax.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annota...
  • zxc_helloworld
  • zxc_helloworld
  • 2017-09-07 09:30
  • 746
    个人资料
    • 访问:2237次
    • 积分:45
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:1篇
    • 评论:0条
    文章分类
    文章存档