Sie konfigurieren, wie Sie wollen Ihre Dienste in der DI (Dependency Injection) System entdeckt zu werden. bind(Service).to(Contract)
ist im Grunde sagen, dass Sie die Service
als injizierbaren Service bereitstellen möchten, und es als Contract
"werben" möchten. Mit "werben" meine ich, was Sie in der Lage sein möchten, es als zu injizieren. Zum Beispiel Service
kann UserRepositoryImpl
sein, während Contract
UserRepository
(Schnittstelle) sein kann. Damit wären Sie nur in der Lage @Inject UserRepository
als das, was Sie werben. Der Vorteil davon sind alle Vorteile, die mit programming to an interface kommen.
Beispiel
Hier die UserRepository
wird in die UserResource
injiziert. Wenn das DI-System es injiziert, ist es tatsächlich die UserRepositoryImpl
Instanz.
aber wie für meinen Beitrag, ist es besser, diese Klasse zu importieren oder DI in dieser Klasse? – BAE
Nicht sicher, was Sie mit "Import oder DI" meinen. Meinst du das manuelle Instanziieren gegen DI? Dafür können Sie jeden Artikel über DI lesen und Sie werden die Vorteile sehen. –