Junior — Middle
Care sunt modalitățile de implementare a injecției de dependențe pentru Beans într-o aplicație?
sobes.tech AI
Răspuns de la AI
În Java, injecția de dependențe (Dependency Injection, DI) pentru Beans poate fi implementată în mai multe moduri:
- Prin constructor — dependențele sunt transmise în constructorul clasei. Aceasta este metoda preferată, deoarece permite crearea de obiecte imutabile și facilitează testarea.
public class Service {
private final Repository repo;
public Service(Repository repo) {
this.repo = repo;
}
}
- Prin setter (Setter Injection) — dependențele sunt setate prin metode setter după crearea obiectului.
public class Service {
private Repository repo;
public void setRepository(Repository repo) {
this.repo = repo;
}
}
- Prin câmpuri (Field Injection) — dependențele sunt injectate direct în câmpurile clasei folosind adnotări, de exemplu,
@Autowiredîn Spring.
public class Service {
@Autowired
private Repository repo;
}
- Prin metode de fabrică sau clase de configurare — crearea și legarea Beans se face în clase de configurare sau XML.
Fiecare metodă are avantajele și dezavantajele sale, dar în aplicațiile moderne se preferă injecția prin constructor sau adnotările Spring pentru legarea automată a dependențelor.