Bentornati.
In questo video impareremo a conoscere i tipi di iniezione di dipendenza.
Inizieremo con l'iniezione del costruttore.
Constructor injection significa passare le dipendenze come parametri al costruttore di una classe.
La classe non crea internamente le sue dipendenze, ma
si aspetta che vengano fornite quando l'oggetto viene istanziato.
Questo approccio garantisce che le dipendenze siano pronte per l'uso non appena l'oggetto viene creato.
Abbiamo già visto questo tipo di iniezione di dipendenza nei video precedenti.
Torniamo al nostro progetto.
Abbiamo la classe del motore e la funzione di avvio che simula e prende in giro il motore.
Inizio.
Abbiamo la classe auto all'interno del suo costruttore.
Passiamo l'istanza del motore e la utilizziamo all'interno della funzione drive.
Nel file principale, abbiamo creato un'istanza della classe motore e un'istanza della classe auto.
Abbiamo iniettato l'istanza del motore all'interno della classe auto e abbiamo chiamato la funzione drive Dive.
Se eseguiamo l'applicazione, ecco che il motore dei risultati è stato avviato.
Ora impareremo a usare l'elsa nell'iniezione del costruttore.
Si tratta della cosiddetta iniezione manuale delle dipendenze.
Iniezione manuale di dipendenza del costruttore.
Utilizzeremo hilt per farlo automaticamente.
Partiamo dalla classe base.
Qui.
Dobbiamo iniettare questa classe, quindi vicino al nome della classe dobbiamo usare
l'annotazione inject, che proviene dal pacchetto Java dot inject dot inject.
E usiamo la parola chiave costruttore.
L'annotazione inject indica a hilt come creare un'istanza del motore.
L'annotazione inject su un costruttore indica a hilt
o dagger come costruire un'istanza di quella classe.
È il modo più semplice per fornire dipendenze quando si ha il controllo sul costruttore della classe.
Quindi ora Hilde sa come creare un'istanza di motore, perché è stata fornita l'annotazioneject.
Passiamo alla macchina.
Qui dobbiamo usare di nuovo l'annotazione inject e dobbiamo usare la parola chiave del costruttore alt plus.
Entrare per importare la classe da Java dot inject car
dipende dalla classe engine e hilt si occupa di iniettarla.
Vale la pena di ricordare che la classe del motore
è denominata dipendenza e l'auto è denominata dipendente e dipendente.
Quindi, di nuovo ragazzi, quello che abbiamo fatto qui all'interno del motore è
usare l'annotazione inject hilt, che sa come creare un'istanza del motore grazie
all'annotazione engine o inject, usando anche il costruttore e all'interno dell'auto hilt.
Si capisce che auto richiede un'istanza di motore nel suo costruttore.
Hilt risolve e inietta automaticamente un oggetto motore quando viene creata l'auto.
Usare sempre il costruttore di annotazioni inject quando si conosce la classe e si può modificare il suo costruttore.
Inoltre, quando le dipendenze devono essere immutabili e iniettate in anticipo, il secondo passo è creare i
moduli del modello di elsa che definiscono come le dipendenze sono fornite all'interno di questo pacchetto.
Creare un nuovo oggetto e chiamarlo modulo app.
Selezionare l'oggetto e fare clic su Invio.
Qui abbiamo un oggetto chiamato modulo app.
Quindi questo oggetto definirà come vengono fornite le dipendenze.
E per questo dobbiamo usare un'annotazione di modulo.
Non preoccupatevi, in seguito faremo un'immersione profonda nelle annotazioni.
Inoltre, dobbiamo usare install nel componente singleton.
Definire la classe.
Nel prossimo video.
Continueremo con il modulo dell'applicazione oggetto, che è un
modulo elsa, e lo spiegheremo in modo molto dettagliato.