Sobes.tech
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:

  1. 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;
    }
}
  1. 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;
    }
}
  1. 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.