Sobes.tech
Junior — Middle

Kuidas saab rakenduses Beans sõltuvuste süstimist rakendada?

sobes.tech AI

Vastus AI-lt

Java-s, sõltuvuste süstimise (Dependency Injection, DI) realiseerimiseks Beans-i jaoks saab kasutada mitmeid meetodeid:

  1. Konstruktoriga — sõltuvused edastatakse klassi konstruktorile. See on kõige eelistatum viis, kuna võimaldab luua muutumatuid objekte ja lihtsustab testimist.
public class Service {
    private final Repository repo;

    public Service(Repository repo) {
        this.repo = repo;
    }
}
  1. Setterite kaudu (Setter Injection) — sõltuvused määratakse pärast objekti loomist setter-meetodite abil.
public class Service {
    private Repository repo;

    public void setRepository(Repository repo) {
        this.repo = repo;
    }
}
  1. Väljade kaudu (Field Injection) — sõltuvused süstitakse otse klassi väljadele, kasutades annotatsioone, näiteks @Autowired Springis.
public class Service {
    @Autowired
    private Repository repo;
}
  1. Fabrika meetodite või konfiguratsiooniklasside kaudu — Bean-ide loomine ja sidumine toimub konfiguratsiooniklassides või XML-is.

Igal meetodil on omad eelised ja puudused, kuid kaasaegsetes rakendustes kasutatakse sageli konstruktoripõhist süstimist või Springi annotatsioone automaatseks sidumiseks.