Hoe gebruik je dependency injection in je werk?
sobes.tech AI
Antwoord van AI
Dependency Injection (DI) is een patroon dat het mogelijk maakt om afhankelijkheden van een object van buitenaf te geven, in plaats van ze intern te creëren. In Java gebruik ik DI om de modulariteit, testbaarheid en onderhoudsgemak van de code te verbeteren.
Bijvoorbeeld, in het Spring Framework declareer ik afhankelijkheden als beans, en de Spring-container injecteert ze automatisch in de benodigde klassen via de constructor of setters. Dit maakt het gemakkelijker om implementaties te vervangen, bijvoorbeeld bij het schrijven van unittests, waar mock-objecten kunnen worden gebruikt.
Voorbeeld van gebruik van DI met constructor:
@Component
public class UserService {
private final UserRepository userRepository;
// Afhankelijkheid wordt via de constructor geïnjecteerd
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public User findUser(String id) {
return userRepository.findById(id);
}
}
Deze aanpak bevordert de inversie van controle (IoC), waarbij het creëren en koppelen van objecten wordt beheerd door een externe container, niet door de klasse zelf.