【发布时间】:2020-01-14 12:00:10
【问题描述】:
我有一些服务实现了相同的接口。我想根据数据库中的参数动态使用服务。
我想使用 CDI 注释,但如果不可能,请告诉我如何实现它?一个工厂 ?
我们有几个与服务相关的提供者,并遵循数据库中的规则,我们将使用服务或其他
Service1 implements IService1, IGeneralService{
public void run(){...};}
Service2 implements IService2, IGeneralService{
public void run(){...};}
然后我会根据国家或其他国家/地区的数据库参数使用它。
public class Test{
@IGeneralService service;
public void getRunMethod(String numberService){
service.run() (here it run the right service)
}
}
类似的东西。任何想法 ?
【问题讨论】:
-
我认为最好的方法是工厂。您将调用 createInstance,工厂决定(包括 DB 数据)什么实现返回
-
getRunMethod 看起来很像工厂,不是吗?
-
这是一个伪例子,但我只知道工厂,但生产者或注释 CDI 更性感^^
-
标题不一样,但终局性是的
标签: java dependency-injection cdi