首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Guice构造器参数自定义注解注入

Guice构造器参数自定义注解注入
EN

Stack Overflow用户
提问于 2020-11-06 17:48:51
回答 1查看 179关注 0票数 0

是否有一种方法在Guice中实现对带有自定义注释的构造函数参数的注入?

我的问题和这个问题几乎完全一样:构造函数参数的Guice自定义注入

不过,那是五年前的事了。我想看看是否有什么变化。

我需要基于像name这样的限定符来解析参数,但是这些名称必须在运行时被解析(也就是说,我不能只在@Named注释中编译)。

--一个人为的例子:

代码语言:javascript
复制
public class MyService
{
  private final DataStore store;

  @Inject
  public MyService(@DataStoreType("sqlite") final DataStore store)
  {
    this.store = store;
  }
  ...
}

某种解决问题的动态解析器是这样的:

代码语言:javascript
复制
public DataStore resolve(final DataStoreType annotation)
{
  if ("sqlite".equals(annotation.value())
  {
    return sqliteStore;
  }
  else if ("postgresql".equals(annotation.value())
  {
    return pgStore;
  }
  ...
}

对于那些熟悉HK2/Jersey的人,我正在寻找类似org.glassfish.hk2.api.InjectionResolver in Guice的东西

EN

回答 1

Stack Overflow用户

发布于 2020-11-13 07:32:35

这个案子可以用工厂来解决。只需将逻辑从resolve()方法移到Factory.create(DataStoreType)即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64719373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档