Junior
Ի՞նչ է Spring-ում @Service, @Repository և @Controller նշանների տարբերությունը։
sobes.tech AI
Պատասխան AI-ից
Սրանք Spring-ի նշումներ են, որոնք օգտագործվում են դասերը նշելու համար որպես որոշակի շերտերի բաղադրիչներ՝
@Service: Օգտագործվում է բիզնես տրամաբանության ներկայացնող դասերի համար: սովորաբար պարունակում է մեթոդներ, որոնք մշակում են տվյալները, որոնք ստացվել են պահեստավորման շերտից:@Repository: Օգտագործվում է տվյալների պահեստավորման շերտի հետ փոխազդեցություն ունեցող դասերի համար (օրինակ՝ տվյալների բազա): Պատրաստում է տվյալների մուտք գործելու մեթոդներ:@Controller: Օգտագործվում է մուտքային HTTP հարցումների մշակման համար: սովորաբար պարունակում է մեթոդներ, որոնք վերադարձնում են տեսք կամ տվյալներ հարցման պատասխանով:
Այս բոլոր նշումները սթերեոտիպներ են, որոնք ընդլայնում են @Component-ը, և թույլ են տալիս Spring-ին ինքնաբերաբար հայտնաբերել և գրանցել այդ դասերը որպես բիներ ծրագրի կոնտեքստում: Նրանց հիմնական տարբերությունը սեմանտիկ է, ցույց տալով դասի դերը ճարտարապետությունում: Spring-ը կարող է օգտագործել այս նշումները՝ կիրառելու հատուկ ֆունկցիաներ շերտերին, օրինակ՝
- Spring Data JPA-ն ավտոմատ կերպով սկանավորում է
@Repositoryնշված դասերը՝ ռեպոզիտորիաների իրագործումները ստեղծելու համար: - Spring MVC-ն օգտագործում է
@Controller՝ URL հարցումների հարմարեցում՝ կոնտրոլերների մեթոդներին։