WEBVTT

1
00:00.440 --> 00:01.480
Bentornati.

2
00:01.680 --> 00:06.640
In questo video impareremo a conoscere i
tipi di iniezione di dipendenza.

3
00:06.640 --> 00:09.560
Inizieremo con l'iniezione del
costruttore.

4
00:09.560 --> 00:15.600
Constructor injection significa passare le
dipendenze come parametri al costruttore
di una classe.

5
00:15.640 --> 00:23.040
La classe non crea internamente le sue
dipendenze, ma

6
00:23.040 --> 00:24.560
si aspetta che vengano fornite quando
l'oggetto viene istanziato.

7
00:24.560 --> 00:33.800
Questo approccio garantisce che le
dipendenze siano pronte per l'uso non
appena l'oggetto viene creato.

8
00:33.800 --> 00:39.960
Abbiamo già visto questo tipo di iniezione
di dipendenza nei video precedenti.

9
00:40.080 --> 00:41.520
Torniamo al nostro progetto.

10
00:41.520 --> 00:47.080
Abbiamo la classe del motore e la funzione
di avvio che simula e prende in giro il
motore.

11
00:47.080 --> 00:47.800
Inizio.

12
00:47.800 --> 00:52.480
Abbiamo la classe auto all'interno del suo
costruttore.

13
00:52.600 --> 00:58.360
Passiamo l'istanza del motore e la
utilizziamo all'interno della funzione
drive.

14
00:58.360 --> 01:05.040
Nel file principale, abbiamo creato
un'istanza della classe motore e
un'istanza della classe auto.

15
01:05.080 --> 01:13.470
Abbiamo iniettato l'istanza del motore
all'interno della classe auto e abbiamo
chiamato la funzione drive Dive.

16
01:13.470 --> 01:19.190
Se eseguiamo l'applicazione, ecco che il
motore dei risultati è stato avviato.

17
01:19.230 --> 01:25.310
Ora impareremo a usare l'elsa
nell'iniezione del costruttore.

18
01:25.430 --> 01:28.870
Si tratta della cosiddetta iniezione
manuale delle dipendenze.

19
01:28.870 --> 01:32.390
Iniezione manuale di dipendenza del
costruttore.

20
01:32.390 --> 01:36.150
Utilizzeremo hilt per farlo
automaticamente.

21
01:36.150 --> 01:39.270
Partiamo dalla classe base.

22
01:39.270 --> 01:39.750
Qui.

23
01:39.750 --> 01:49.630
Dobbiamo iniettare questa classe, quindi
vicino al nome della classe dobbiamo usare

24
01:49.630 --> 01:54.190
l'annotazione inject, che proviene dal
pacchetto Java dot inject dot inject.

25
01:54.190 --> 01:57.710
E usiamo la parola chiave costruttore.

26
01:57.910 --> 02:04.910
L'annotazione inject indica a hilt come
creare un'istanza del motore.

27
02:04.910 --> 02:14.670
L'annotazione inject su un costruttore
indica a hilt

28
02:14.670 --> 02:15.510
o dagger come costruire un'istanza di
quella classe.

29
02:15.510 --> 02:24.030
È il modo più semplice per fornire
dipendenze quando si ha il controllo sul
costruttore della classe.

30
02:24.030 --> 02:32.770
Quindi ora Hilde sa come creare un'istanza
di motore, perché è stata fornita
l'annotazioneject.

31
02:32.770 --> 02:34.290
Passiamo alla macchina.

32
02:34.410 --> 02:43.450
Qui dobbiamo usare di nuovo l'annotazione
inject e dobbiamo usare la parola chiave
del costruttore alt plus.

33
02:43.450 --> 02:53.410
Entrare per importare la classe da Java
dot inject car

34
02:53.690 --> 02:54.170
dipende dalla classe engine e hilt si
occupa di iniettarla.

35
02:54.210 --> 03:04.730
Vale la pena di ricordare che la classe
del motore

36
03:04.730 --> 03:06.250
è denominata dipendenza e l'auto è
denominata dipendente e dipendente.

37
03:06.250 --> 03:14.450
Quindi, di nuovo ragazzi, quello che
abbiamo fatto qui all'interno del motore è

38
03:14.450 --> 03:22.530
usare l'annotazione inject hilt, che sa
come creare un'istanza del motore grazie

39
03:22.530 --> 03:23.730
all'annotazione engine o inject, usando
anche il costruttore e all'interno
dell'auto hilt.

40
03:23.730 --> 03:30.730
Si capisce che auto richiede un'istanza di
motore nel suo costruttore.

41
03:30.770 --> 03:38.200
Hilt risolve e inietta automaticamente un
oggetto motore quando viene creata l'auto.

42
03:38.240 --> 03:46.760
Usare sempre il costruttore di annotazioni
inject quando si conosce la classe e si
può modificare il suo costruttore.

43
03:46.800 --> 03:55.440
Inoltre, quando le dipendenze devono
essere immutabili e iniettate in anticipo,
il secondo passo è creare i

44
03:55.480 --> 04:02.520
moduli del modello di elsa che definiscono
come le dipendenze sono fornite
all'interno di questo pacchetto.

45
04:02.520 --> 04:08.240
Creare un nuovo oggetto e chiamarlo modulo
app.

46
04:08.360 --> 04:11.440
Selezionare l'oggetto e fare clic su
Invio.

47
04:11.480 --> 04:15.080
Qui abbiamo un oggetto chiamato modulo
app.

48
04:15.080 --> 04:19.840
Quindi questo oggetto definirà come
vengono fornite le dipendenze.

49
04:19.840 --> 04:24.000
E per questo dobbiamo usare un'annotazione
di modulo.

50
04:24.040 --> 04:28.920
Non preoccupatevi, in seguito faremo
un'immersione profonda nelle annotazioni.

51
04:29.080 --> 04:34.640
Inoltre, dobbiamo usare install nel
componente singleton.

52
04:34.640 --> 04:36.160
Definire la classe.

53
04:36.160 --> 04:37.160
Nel prossimo video.

54
04:37.200 --> 04:45.040
Continueremo con il modulo
dell'applicazione oggetto, che è un

55
04:45.040 --> 04:46.520
modulo elsa, e lo spiegheremo in modo
molto dettagliato.


