您的位置:首页 > 编程语言 > Java开发

Spring接口动态注入不同的实现类

2012-11-11 15:45 489 查看
场景:程序中有一接口,需要在运行中根据某个参数的值动态地给它注入不同的实现类。

实现代码:

//读物接口
interface IReader{
public String getContent();
}

//书本
class Book implements IReader{
public String getContent(){
System.out.println("Reading Book!");
}
}

//报纸
class Newspaper implements IReader{
public String getContent(){
System.out.println("Reading Newspaper!");
}
}

//业务类
class Reader{
Map<String,IReader> map = new HashMap<String,IReader>();
public void read(String type){
IReader irer = map.get(type);
irer.getContent();
}
}

//xml配置文件
<bean name="reader" class="net.test.Reader">
<property name="map">
<map>
<entry key="book"><bean class="net.test.Book"/></entry>
<entry key="newspaper"><bean class="net.test.Newspaper"/></entry>
</map>
</property>
</bean>

//调用类
class TestRead{
public static void main(String[] args){
Reader reader =  new Reader();
reader.read("book");
reader.read("newspaper");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: