Cum folosești injecția de dependențe în munca ta?
sobes.tech AI
Răspuns de la AI
Injecția de dependințe (Dependency Injection, DI) este un pattern care permite transmiterea dependențelor unui obiect din exterior, în loc să le creeze intern. În Java, folosesc DI pentru a îmbunătăți modularitatea, testabilitatea și ușurința de întreținere a codului.
De exemplu, în Spring Framework, declar dependențele ca fiind beans, iar containerul Spring le injectează automat în clasele necesare prin constructor sau setters. Acest lucru facilitează înlocuirea implementărilor, de exemplu, atunci când scriu teste unitare, unde pot folosi obiecte mock.
Exemplu de utilizare DI cu constructor:
@Component
public class UserService {
private final UserRepository userRepository;
// Dependența este injectată prin constructor
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public User findUser(String id) {
return userRepository.findById(id);
}
}
Această abordare favorizează inversiunea controlului (IoC), când crearea și legarea obiectelor sunt controlate de un container extern, nu de clasă în sine.