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 Injection) — կախվածությունները սահմանվում են սեթեր մեթոդների միջոցով՝ օբյեկտի ստեղծումից հետո։
@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-ով և թույլ են տալիս ճկուն կառավարել ծրագրի բաղադրիչների կախվածությունները։