Middle
Фарқи байни таърифҳои Component, Repository ва Service дар Spring чист?
sobes.tech AI
Ҷавоб аз AI
Ҳамма бу аннотациялар махсуслашган @Component. Улар classpath-ни скан қилиш орқали Spring компонентларини автоматик аниқлаш учун қўлланилади.
Асосий фарқлар семантика ва мақсадли фойдаланишда:
@Component: Ҳар қандай Spring компоненти учун умумий стереотип аннотация. Бўлмаса, аниқроқ категорияларга кирмайдиган синфлар учун қўлланилиши мумкин.@Repository: Маълумотлар сақлагичи ролини бажарадиган синфни белгилайди. Spring бу синфлар учун маълумотга киришга оид хато-истисноларни автоматик тарзда Springнинг бирлашган истисно ҳирасинига ўтказади.@Service: Тўғридан-тўғри илованинг хизмат қаватидаги синфни белгилайди. Одатда, илованинг бизнес-логикасини ўз ичига олади. Код ўқилишини яхшилаш ва илованинг тузилмасини яхшилаш учун қўлланилади.
| Аннотация | Мақсад | Семантика |
|---|---|---|
@Component |
Умумий Spring компоненти | Умумий, универсалий |
@Repository |
Маълумотлар сақлагичи | Маълумотга кириш, DAO |
@Service |
Хизмат қавати, бизнес-логикаси | Бизнес-логика, хизмат |