Sobes.tech
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:

  1. 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;
    }
}
  1. 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;
    }
}
  1. 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 @Autowired Spring-ben.
public class Service {
    @Autowired
    private Repository repo;
}
  1. 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.