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