Junior — Middle
Na koje načine može da se implementira ubrizgavanje zavisnosti za Beans u aplikaciji?
sobes.tech АИ
Одговор од АИ
U Javi, implementacija zavisnosti (Dependency Injection, DI) za Beans može se realizovati na više načina:
- Kroz konstruktor — zavisnosti se prosleđuju u konstruktor klase. Ovo je najpreferiraniji način, jer omogućava kreiranje nepromenljivih objekata i olakšava testiranje.
public class Service {
private final Repository repo;
public Service(Repository repo) {
this.repo = repo;
}
}
- Kroz setere (Setter Injection) — zavisnosti se postavljaju putem setter metoda nakon kreiranja objekta.
public class Service {
private Repository repo;
public void setRepository(Repository repo) {
this.repo = repo;
}
}
- Kroz polja (Field Injection) — zavisnosti se direktno ubrizgavaju u polja klase pomoću anotacija, na primer,
@Autowiredu Spring-u.
public class Service {
@Autowired
private Repository repo;
}
- Kroz fabričke metode ili konfiguracione klase — kreiranje i povezivanje Beans-a se obavlja u konfiguracionim klasama ili XML-u.
Svaki metod ima svoje prednosti i mane, ali u savremenim aplikacijama najčešće se koristi konstruktor ili Spring anotacije za automatsko povezivanje zavisnosti.