Sobes.tech
Junior — Middle

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:

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

  2. Przez settery (Setter Injection) — zależności są ustawiane za pomocą metod setterów po utworzeniu obiektu.

  3. 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.