Ich habe folgende Dienstleistungen TopService that injects MidService that injects LowService
Wie verwalte ich meine gemeinsamen Abhängigkeiten zwischen verschiedenen Modulen?
Ich möchte TopService
mit LowServiceA
in einem Maven-Projekt verwenden (wir es ProjectA nennen). ProjectB hängt von einem anderen Maven-Projekt (Aufruf ProjectB) ab, das TopService
mit LowServiceB
verwendet.
Unten ist, wie ich ProjectA des Guice Module definiert haben:
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());
});
}
}
Ich frage mich nur, ob dies der beste Weg, um meine Abhängigkeiten configre ist. Eine Sache, die ich an diesem Ansatz nicht mag, ist, dass ich jedesmal TopService
, MidService
und LowService
manuell binden muss.