Sobes.tech
Middle

Фарқи байни таърифҳои Component, Repository ва Service дар Spring чист?

sobes.tech AI

Ҷавоб аз AI

Ҳамма бу аннотациялар махсуслашган @Component. Улар classpath-ни скан қилиш орқали Spring компонентларини автоматик аниқлаш учун қўлланилади.

Асосий фарқлар семантика ва мақсадли фойдаланишда:

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