Chinaunix首页 | 论坛 | 博客
  • 博客访问: 130184
  • 博文数量: 47
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 243
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-18 11:45
文章分类

全部博文(47)

文章存档

2017年(2)

2015年(33)

2014年(12)

分类: Java

2014-11-23 17:59:37

通过输入参数,动态决定调用接口的实现类。简单理解就是在spring配置文件定义若干个参数,然后,定义同样多的实现类实现同一个接口,在接口调 用方法中,通过输入参数,就能动态决定接口调用具体哪个实现类。这样的好处就是对外发布接口时,接口通过参数能动态的调用某个服务。如果你注重于系统的可 扩展性,这个方法确实是个好方法,我重新建了个工程,用来更加简明的理解这个实现过程。

 

工程结构如图:myeclipse工程

 

image

 

首先看spring配置文件,定义了三个bean,其中myService,myService2是接口MyService的实现类

 

image

 

其中MyServiceMg中定义了一个map,在spring加载的时候会把配置文件里的这个map动态的加载到 mappingServices里去,看MyServiceMy类

 

image

 

在这个handle方法里就是根据参数来决定MyService动态调用的实现类

 

看测试结果就明白了

 

image

三个测试结果出来了,第一个和第二个参数都在配置文件里有配置,所以能动态调用相应的实现类来实现,第三个没有配置,所以抛出异常

阅读(2524) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~