gpt4 book ai didi

java - 如何管理不同模块之间的共享依赖关系?

转载 作者:太空宇宙 更新时间:2023-11-04 12:22:26 24 4
gpt4 key购买 nike

我有以下服务
注入(inject)的TopService
注入(inject)的 MidService
低服务

我想在一个 Maven 项目(我们称之为 ProjectA)中将 TopServiceLowServiceA 一起使用。 ProjectB 依赖于另一个使用 TopServiceLowServiceB 的 Maven 项目(称为 ProjectB)。

下面是我如何定义 ProjectA 的 Guice 模块:

ProjectAModule extends AbstractModule {

@Override
protected void configure() {
install(new PrivateModule() {
@Override
protected void configure() {
bind(TopService.class);
bind(MidService.class);
bind(LowService.class).toInstance(new LowServiceA());
});
install(new PrivateModule() {
@Override
protected void configure() {
install(new ProjectBModule());
bind(TopService.class);
bind(MidService.class);
bind(LowService.class).toInstance(new LowServiceB());
});
}
}

我只是想知道这是否是配置我的依赖项的最佳方法。我不喜欢这种方法的一件事是我每次都必须手动绑定(bind) TopServiceMidServiceLowService

最佳答案

只需制作 CommonsModule 和 ProjectAModule 和 ProjectBModule 并根据项目使用 2 个模块创建注入(inject)器。

CommonsModule 应包含

 bind(TopService.class);
bind(MidService.class);

和 ProjectAModule/ProjectBModule

bind(LowService.class).toInstance(new LowServiceA());

bind(LowService.class).toInstance(new LowServiceB());

关于java - 如何管理不同模块之间的共享依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38711411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com