Junior — Middle
Explicați conceptul de inversiune a controlului și aplicarea sa în cadrul Spring
sobes.tech AI
Răspuns de la AI
Inversiunea controlului (Inversion of Control, IoC) este un principiu prin care gestionarea creării și legării obiectelor este transferată către un container sau framework extern, în loc să fie implementată direct în codul aplicației. Acest lucru reduce cuplarea componentelor și crește flexibilitatea.
În Spring, IoC este realizat printr-un container care gestionează ciclul de viață și dependențele obiectelor (beans). În loc să creeze manual obiecte, dezvoltatorul descrie dependențele, iar Spring injectează automat componentele necesare.
Exemplu de injecție a dependențelor prin adnotare:
@Component
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
Aici, Spring va crea și va transmite o instanță de UserRepository către UserService, gestionând automat dependențele.