具有单独实现的Guice API

时间:2018-02-14 19:09:31

标签: java dependency-injection architecture guice

我一直在努力设计一个带有guice的软件架构,允许不同区域的不同团队单独实施。

这个想法就像:

API-A ->
API-B -> API-Global
API-C ->

API Global有一堆类(与GraphQL相关),它们应该是需要实现的非接口shell。

因为特定于地区的API依赖于全局包,所以我不能在那里使用特定于区域的代码。有没有办法在整体图中创建guice绑定,Global API可以通过内省来找到消费?

我看了Guice multibinds来做这个,但我不确定这是最好的方法。我知道这可以使用Spring,但我真的想用Guice来做这件事。

感谢。

1 个答案:

答案 0 :(得分:0)

OSGi和其他框架处理这个问题的方法是让每个实现都附带一个标准化文件,其中包含元信息(意味着实现类),然后Global-API可以在类路径中找到它来配置自己。

(考虑使用标准化框架而不是重新发明轮子,但这是我在这些框架中看到的一般过程。)