Jakie metody służą do wdrażania wstrzykiwania zależności w frameworku Spring?
sobes.tech AI
Odpowiedź od AI
W Spring Framework wstrzykiwanie zależności (Dependency Injection, DI) odbywa się na trzy główne sposoby:
-
Przez konstruktor (Constructor Injection) — zależności są przekazywane przez parametry konstruktora klasy. Jest to najbardziej zalecany sposób, ponieważ pozwala tworzyć niezmienne obiekty i ułatwia testowanie.
-
Przez settery (Setter Injection) — zależności są ustawiane za pomocą metod setterów po utworzeniu obiektu.
-
Przez pola (Field Injection) — zależności są bezpośrednio wstrzykiwane do pól klasy za pomocą adnotacji
@Autowired. Metoda ta jest mniej preferowana ze względu na trudności w testowaniu i słabą enkapsulację.
Przykład wstrzykiwania zależności przez konstruktor:
@Component
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
// metody klasy
}
Spring automatycznie utworzy i wstrzyknie odpowiedni bean UserRepository podczas tworzenia UserService.