Junior — Middle
Kā var īstenot atkarību injekciju Beans programmā?
sobes.tech AI
Atbilde no AI
Java valodā atkarības injekcija (Dependency Injection, DI) var tikt īstenota vairākos veidos:
- Caur konstruktoru — atkarības tiek nodotas klases konstruktoram. Šis ir visizplatītākais veids, jo tas ļauj izveidot nemaināmus objektus un atvieglo testēšanu.
public class Service {
private final Repository repo;
public Service(Repository repo) {
this.repo = repo;
}
}
- Caur setteriem (Setter Injection) — atkarības tiek iestatītas, izmantojot setter metodes pēc objekta izveides.
public class Service {
private Repository repo;
public void setRepository(Repository repo) {
this.repo = repo;
}
}
- Caur laukiem (Field Injection) — atkarības tiek tieši injicētas klases laukos, izmantojot anotācijas, piemēram,
@AutowiredSpring vidē.
public class Service {
@Autowired
private Repository repo;
}
- Caur fabrikas metodēm vai konfigurācijas klasēm — Beans izveide un sasaistīšana notiek konfigurācijas klasēs vai XML failos.
Katrs veids ir ar saviem plusiem un mīnusiem, bet mūsdienu lietojumprogrammās visbiežāk izmanto konstruktoru injekciju vai Spring anotācijas automātiskai sasaistīšanai.