Sobes.tech
Junior — Middle

Ի՞նչ մեթոդներ կան կախվածությունների ներդրման համար Spring Framework շրջանակում։

sobes.tech AI

Պատասխան AI-ից

Նախագծում Spring Framework-ում կախվածությունների (Dependency Injection, DI) իրականացումը կարող է կատարվել հիմնական հետևյալ եղանակներով՝

  1. Կոնստրուկտորով — կախվածությունները փոխանցվում են դասի կոնստրուկտորի պարամետրերով։ Սա ամենալավ առաջարկվող մեթոդն է, քանի որ այն բացահայտում է կախվածությունները և հեշտացնում է թեստավորումը։
@Component
public class Service {
    private final Repository repository;

    public Service(Repository repository) {
        this.repository = repository;
    }
}
  1. Սեթերների միջոցով (Setter Injection) — կախվածությունները սահմանվում են սեթեր մեթոդների միջոցով՝ օբյեկտի ստեղծումից հետո։
@Component
public class Service {
    private Repository repository;

    @Autowired
    public void setRepository(Repository repository) {
        this.repository = repository;
    }
}
  1. Մայրոցների միջոցով (Field Injection) — կախվածությունները անմիջապես ներմուծվում են դաշտեր՝ օգտագործելով @Autowired նշումը։
@Component
public class Service {
    @Autowired
    private Repository repository;
}

Այս մեթոդը պակաս նախընտրելի է, քանի որ այն բարդացնում է թեստավորումը և խախտում է կախվածությունների հակառակը։

Այս բոլոր մեթոդները աջակցվում են Spring-ով և թույլ են տալիս ճկուն կառավարել ծրագրի բաղադրիչների կախվածությունները։