加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – Dyamically在Spring中选择服务实现

发布时间:2020-12-15 01:38:43 所属栏目:大数据 来源:网络整理
导读:我正在使用spring 3.2,并希望根据条件在我的控制器中动态选择服务实现.考虑我有一个接口和两个实现如下: public interface DevService { public void add(Device device);}public class DevServiceImpl implements DevService { public void add(Device dev

我正在使用spring 3.2,并希望根据条件在我的控制器中动态选择服务实现.考虑我有一个接口和两个实现如下:

public interface DevService {
   public void add(Device device);
}

public class DevServiceImpl implements DevService {
    public void add(Device device) {
    }
}

public class RemoteDevServiceImpl implements DevService {
    public void add(Device device) {
    }
}

所以在我的控制器中,根据是要在本地站点还是远程站点上执行操作,我需要在本地执行它或者向远程站点发送命令来执行它.基本上,用户点击的站点确定要调用哪个服务.谁能建议一个干净的方法来实现这一目标?

最佳答案
假设您在生产环境中需要两种实现(如果不是 – 使用Spring配置文件在环境之间清楚地分割bean).简单的方法是:

interface DevService
{
   void add(Device d);
   String getName();
}

@Service("devServiceLocal")
class DevServiceLocalImpl implements DevService
{
   void add(Device d) {...}
   String getName() {return "local";}
}

class Controller
{
   @Autowired
   Collection

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读