Junior — Middle
Milyen módon valósítható meg a függőséginjektálás Beans esetén egy alkalmazásban?
sobes.tech MI
Válasz az MI-től
Java-ban a Beans dependency injection (DI) többféleképpen valósítható meg:
- Konstruktoron keresztül — a függőségek a osztály konstruktorába kerülnek átadásra. Ez a legpreferáltabb módszer, mivel lehetővé teszi az immutable objektumok létrehozását és megkönnyíti a tesztelést.
public class Service {
private final Repository repo;
public Service(Repository repo) {
this.repo = repo;
}
}
- Settereken keresztül (Setter Injection) — a függőségek a létrehozás után setter metódusokon keresztül állíthatók be.
public class Service {
private Repository repo;
public void setRepository(Repository repo) {
this.repo = repo;
}
}
- Mezőkön keresztül (Field Injection) — a függőségek közvetlenül a osztály mezőibe injektálhatók annotációk segítségével, például
@AutowiredSpring-ben.
public class Service {
@Autowired
private Repository repo;
}
- Gyártási módszereken vagy konfigurációs osztályokon keresztül — a Beans létrehozása és összekapcsolása konfigurációs osztályokban vagy XML-ben történik.
Minden módszernek megvannak az előnyei és hátrányai, de modern alkalmazásokban általában a konstruktoros injekciót vagy a Spring annotációkat használják az automatikus összekapcsoláshoz.