Sobes.tech
Junior — Middle

Ce metode de injectare a dependențelor există în cadrul Spring Framework?

sobes.tech AI

Răspuns de la AI

În Spring Framework, injecția de dependențe (Dependency Injection, DI) poate fi implementată prin următoarele modalități principale:

  1. Prin constructor — dependențele sunt transmise prin parametrii constructorului clasei. Aceasta este metoda cea mai recomandată, deoarece face dependențele explicite și facilitează testarea.
@Component
public class Service {
    private final Repository repository;

    public Service(Repository repository) {
        this.repository = repository;
    }
}
  1. Prin setter-uri (Setter Injection) — dependențele sunt setate prin metode setter după crearea obiectului.
@Component
public class Service {
    private Repository repository;

    @Autowired
    public void setRepository(Repository repository) {
        this.repository = repository;
    }
}
  1. Prin câmpuri (Field Injection) — dependențele sunt injectate direct în câmpuri folosind adnotarea @Autowired.
@Component
public class Service {
    @Autowired
    private Repository repository;
}

Această metodă este mai puțin preferată, deoarece complică testarea și încalcă principiul inversiunii dependențelor.

Toate aceste metode sunt suportate de Spring și permit gestionarea flexibilă a dependențelor componentelor aplicației.