Sobes.tech
Middle
162

Jak używasz wstrzykiwania zależności w swojej pracy?

Odpowiedź od AI

sobes.tech AI

Wstrzykiwanie zależności (Dependency Injection, DI) to wzorzec, który pozwala przekazywać zależności obiektu z zewnątrz, zamiast tworzyć je wewnątrz. W Java używam DI, aby zwiększyć modularność, testowalność i wygodę utrzymania kodu.

Na przykład w Spring Framework deklaruję zależności jako beany, a kontener Spring automatycznie wstrzykuje je do odpowiednich klas przez konstruktor lub settery. Ułatwia to zamianę implementacji, na przykład podczas pisania testów jednostkowych, gdzie można użyć obiektów mock.

Przykład użycia DI z konstruktorem:

@Component
public class UserService {
    private final UserRepository userRepository;

    // Zależność jest wstrzykiwana przez konstruktor
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    public User findUser(String id) {
        return userRepository.findById(id);
    }
}

Takie podejście sprzyja odwróceniu kontroli (IoC), gdy tworzenie i łączenie obiektów jest kontrolowane przez zewnętrzny kontener, a nie przez samą klasę.