Middle
Ako vo svojej práci používate dependency injection?
sobes.tech AI
Odpoveď od AI
Vstrekovanie závislostí (Dependency Injection, DI) je vzor, ktorý umožňuje odovzdanie závislostí objektu zvonku, namiesto ich vytvárania vo vnútri. V Jave používam DI na zlepšenie modularity, testovateľnosti a údržby kódu.
Napríklad v Spring Framework deklarujem závislosti ako beany a kontajner Spring ich automaticky vkladá do potrebných tried cez konštruktor alebo settery. To uľahčuje výmenu implementácií, napríklad pri písaní jednotkových testov, kde je možné použiť mock objekty.
Príklad použitia DI s konštruktorom:
@Component
public class UserService {
private final UserRepository userRepository;
// Závislosť je injektovaná cez konštruktor
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public User findUser(String id) {
return userRepository.findById(id);
}
}
Tento prístup podporuje invertovanie riadenia (IoC), keď je tvorba a prepojenie objektov riadené externým kontajnerom, nie vlastnou triedou.