spring框架当中对同一个接口可以通过某一个参数控制注入不同的实现类实例吗??
比如说有个接口A,B和C都是A的实现类,在D这个类当中有一个属性a,数据类型是A接口现在我从数据库当中查找到某一个参数,然后根据这个参数来决定注入D的实现类到底是B还是C...
比如说有个接口A,B和C都是A的实现类,在D这个类当中有一个属性a,数据类型是A接口
现在我从数据库当中查找到某一个参数,然后根据这个参数来决定注入D的实现类到底是B还是C的实例这个能通过spring实现吗?具体怎么做的呢? 展开
现在我从数据库当中查找到某一个参数,然后根据这个参数来决定注入D的实现类到底是B还是C的实例这个能通过spring实现吗?具体怎么做的呢? 展开
1个回答
展开全部
我目前想到的是 你注入一个代理类,,由代理类来决定最后的target是什么
追问
谢谢你,能不能稍微详细的说一下呢? 你说的代理类是指Proxy?
追答
恩,,设计模式里的代理类吧.
你的代理类实现接口A
public class proxy implements 接口A{
private 接口A target;
public void setTarget(接口A 实现类B(实现类C)){..}
public 接口A的方法(...){
return target.接口A的方法(..);
}
...
}
//这样应该就可以动态决定实现类了.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询