Junior — Middle
Кадом усулҳои ворид кардани вобастагиро дар доираи Spring Framework вуҷуд доранд?
sobes.tech AI
Ҷавоб аз AI
Дар Spring Framework, воридкути вобастагӣ (Dependency Injection, DI) метавонад бо роҳҳои асосии зерин амалӣ карда шавад:
- Тарзи тавассути конструктор — вобастагиҳо тавассути параметрҳои конструктори синф гузошта мешаванд. Ин усули беҳтарин аст, зеро вобастагиҳоро ошкор мекунад ва имкон медиҳад, ки озмоишҳо осонтар гарданд.
@Component
public class Service {
private final Repository repository;
public Service(Repository repository) {
this.repository = repository;
}
}
- Тарзи тавассути setter (Setter Injection) — вобастагиҳо тавассути усулҳои setter пас аз сохтани объект гузошта мешаванд.
@Component
public class Service {
private Repository repository;
@Autowired
public void setRepository(Repository repository) {
this.repository = repository;
}
}
- Тарзи тавассути майдонҳо (Field Injection) — вобастагиҳо мустақиман ба майдонҳо бо истифода аз аннотатсияи
@Autowiredворид карда мешаванд.
@Component
public class Service {
@Autowired
private Repository repository;
}
Ин усул камтар тавсия дода мешавад, зеро озмоишро душвортар мекунад ва принсипи ислоҳ кардани вобастагиро вайрон мекунад.
Ҳамаи ин усулҳо аз ҷониби Spring дастгирӣ мешаванд ва имкон медиҳанд, ки идоракунии вобастагиҳои компонентҳои барнома боэътимод ва чандир бошад.