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:
- 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;
}
}
- 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;
}
}
- Väljade kaudu (Field Injection) — sõltuvused süstitakse otse klassi väljadele, kasutades annotatsioone, näiteks
@AutowiredSpringis.
public class Service {
@Autowired
private Repository repo;
}
- 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.