Junior — Middle
Jakie są metody wstrzykiwania zależności w ramach Spring Framework?
sobes.tech AI
Odpowiedź od AI
W Spring Framework wstrzykiwanie zależności (Dependency Injection, DI) można realizować głównymi następującymi sposobami:
- Przez konstruktor — zależności są przekazywane przez parametry konstruktora klasy. Jest to najbardziej zalecany sposób, ponieważ czyni zależności jawne i ułatwia testowanie.
@Component
public class Service {
private final Repository repository;
public Service(Repository repository) {
this.repository = repository;
}
}
- Przez settery (Setter Injection) — zależności są ustawiane za pomocą metod setterów po utworzeniu obiektu.
@Component
public class Service {
private Repository repository;
@Autowired
public void setRepository(Repository repository) {
this.repository = repository;
}
}
- Przez pola (Field Injection) — zależności są wstrzykiwane bezpośrednio do pól za pomocą adnotacji
@Autowired.
@Component
public class Service {
@Autowired
private Repository repository;
}
Metoda ta jest mniej preferowana, ponieważ utrudnia testowanie i narusza zasadę odwrócenia zależności.
Wszystkie te metody są obsługiwane przez Spring i pozwalają na elastyczne zarządzanie zależnościami komponentów aplikacji.