JavaRush /Java blogi /Random-UZ /Bahordan foydalanishning afzalliklari
Alex
Daraja

Bahordan foydalanishning afzalliklari

Guruhda nashr etilgan
Ko'pgina yangi ishlab chiquvchilar ertami-kechmi Java-da ilovalarni ishlab chiqish uchun mashhur dastur bo'lgan Spring bilan uchrashishadi . Bahor sizga imkon beradigan asosiy narsa bu ishlab chiquvchi uchun J2EE ilovalarini ishlab chiqishni soddalashtirishdir. Bahordan foydalanishda dasturchi oladigan asosiy imtiyozlar:
Bahordan foydalanishning afzalliklari - 1
  • Bahor kelajakdagi arizangiz uchun asos yaratadi, agar siz kelajakdagi arizangiz uchun "bo'sh" bo'lishni istasangiz. Shu bilan birga, ramka sizga dasturni yaratish qoidalarini aytib beradi - ma'lum bir dastur arxitekturasi mavjud bo'lib, siz o'zingizning funksionalligingizni yaratishingiz kerak. Ushbu funksionallik aslida ilovangizning biznes mantig'i bo'ladi. Bahor o'ziga xos funksiyalarga moslashtirilgan ko'plab kichik loyihalarni o'z ichiga oladi (SpringMVC, Spring Security, SpringData va boshqalar. To'liq ro'yxatni https://spring.io/projects sahifasida ko'rish mumkin ), ulardan ishlab chiquvchi o'zi uchun eng mosini tanlashi mumkin va qolganidan foydalanmang - bu dasturni yaratishning modulli printsipi;

  • Bahorga asoslangan ilovada ob'ektlar bog'liqlik in'ektsiyasidan foydalanish orqali erkin bog'lanadi. Bahorning maqsadlaridan biri ba'zi ob'ektlarning boshqalarga qaramligini yo'qotish edi. Giyohvandlik nima? Bu Ob'ekt1 boshqa Ob'ekt2 ning usullaridan foydalanganda, ya'ni Ob'ekt1 o'zi ishlatadigan Ob'ekt2 ga bog'liq. Nega u bog'liq? Ammo Object2 ob'ekti yaratilmaguncha, Object1 o'z funksionalligini amalga oshira olmaydi. Giyohvandlikdan qanday qutulish mumkin? Object2 ob'ektiga havolani konstruktor yoki sozlash vositasi orqali Object1 ob'ektiga "in'ektsiya qilish". Bu jarayon aslida qaramlik in'ektsiyasidir. Esda tutish kerakki, Bahorda ob'ektlar interfeyslar asosida tuzilishi kerak, shunda bog'liqliklar keyinchalik amalga oshirishni almashtirish uchun interfeys shaklida kiritiladi.

  • yangi operator yordamida ob'ektlarni qo'lda yaratishingiz shart emas. Bu funksiya Spring konteyneriga topshirilgan. Bu boshqaruvning inversiyasi (IoC) - kerakli bog'liqliklarni (ob'ektlarni) konteynerga o'tkazish funktsiyasini o'tkazish. Bularning barchasida ishlab chiquvchining roli qanday? Komponentni Spring kontekstiga tushishi uchun e'lon qiling. Bahorning konteksti, sodda qilib aytganda, barcha loviyalar joylashgan xaritadir. Ular loviya Bahor kontekstida deyishganda, loviya xaritada ekanligini hisobga oling va Bahor uni xaritadan olish kalitini biladi. Xml konfiguratsiyasida yoki @Component izohlari bo'lgan sinflarda loviya sifatida belgilangan har bir narsa instantsiya qilinadi va Map<key,bean> map shaklidagi xaritaga joylashtiriladi, ya'ni. konteyner barcha loviyalarni “saqlaydigan” xaritaga ega (bahordagi asosiy tushuncha loviya, bu konteyner tomonidan boshqariladigan ob'ekt. Fasol (oddiy sinf) boshqariladigan bo'lishi uchun u loviya tarkibiga tushishi kerak. Bahor konteksti.) va agar kerak bo'lsa, amalga oshirish, konteyner shunday qiladi: map.get(key), kalit maydon turi;

  • Bahor sizni nafaqat ob'ektlarni yaratish, balki ularni bog'lash zaruratidan xalos qiladi. Masalan, @Autowired izohi komponentlarni avtomatik ravishda ulash imkonini beradi. @Autowired bahor annotatsiyasini shunday ta'riflash mumkin: aziz do'stim, bahor konteyneri, iltimos, sizda men oldida turgan narsaning sinf namunasi yoki asboblari borligini bilish uchun loviya bilan xaritangizga qarang. Agar mavjud bo'lsa, men e'lon qilingan sohada menga havola bering. Avtomatik bog'lanish komponentlar bog'liqligini aniqlashda kod miqdorini kamaytirish imkonini beradi;

  • Bahorda fasol sozlamalari dastur kodidan ajratiladi. Konfiguratsiyani (qaramlikni boshqarish) alohida faylga ko'chirish loyihadagi keyingi o'zgarishlarni (amalga oshirishlarni almashtirish) osonlashtiradi:


    • yaxshilangan sinov qobiliyati. Sinflar DI va interfeyslar asosida ishlab chiqilganda, test paytida bog'liqliklarni (soxta ilovalar bilan) osongina almashtirish mumkin bo'ladi;

    • annotatsiyalar yordamida deklarativ uslubda dasturlash imkoniyati ilovadagi kod miqdorini kamaytiradi;

    • qo'llab-quvvatlash va ma'lumotlarga kirish texnologiyalari, tranzaktsiyalar bilan yaxshi integratsiya, AOP rivojlanishni osonlashtiradi;

    • yaxshi hujjatlar dasturni disk raskadrovka qilishda ko'p yordam beradi;
Bahorni tushunmoqchi bo'lganlar uchun K. Wallsni o'qishni tavsiya qilaman. Faoliyatdagi bahor - 3-nashr va, albatta, rasmiy hujjatlar.
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION