Junior — Middle
Kaip galima įgyvendinti priklausomybių injekciją Beans programoje?
sobes.tech AI
Atsakymas iš AI
Java kalboje priklausomybių injekcija (Dependency Injection, DI) gali būti įgyvendinta keliais būdais:
- Per konstruktorių — priklausomybės perduodamos per klasės konstruktorių. Tai yra labiausiai pageidaujamas būdas, nes leidžia kurti nekintamus objektus ir palengvina testavimą.
public class Service {
private final Repository repo;
public Service(Repository repo) {
this.repo = repo;
}
}
- Per seterius (Setter Injection) — priklausomybės nustatomos naudojant seterių metodus po objekto sukūrimo.
public class Service {
private Repository repo;
public void setRepository(Repository repo) {
this.repo = repo;
}
}
- Per laukus (Field Injection) — priklausomybės tiesiogiai įterpiamos į klasės laukus naudojant anotacijas, pvz.,
@AutowiredSpring'e.
public class Service {
@Autowired
private Repository repo;
}
- Per gamyklinius metodus arba konfigūracijos klases — kūrimas ir Beans sujungimas vyksta konfigūracijos klasėse arba XML.
Kiekvienas būdas turi savo privalumus ir trūkumus, tačiau šiuolaikinėse programose dažniausiai naudojama konstruktoriaus injekcija arba Spring anotacijos automatiškai sujungti priklausomybes.