@Builder izohi Lombok kutubxonasidagi xususiyat boʻlib, u Java sinflarida boilerplate kodini kamaytiradi. U odatda Spring Boot dasturlarida sinflar uchun quruvchi usullarini yaratish uchun ishlatiladi. Ushbu blog postida biz @Builder izohini, uning xususiyatlari va Spring Boot dasturida qanday foydalanishni muhokama qilamiz.
@Builder Izohning xususiyatlari
- Obyekt yaratishni soddalashtiradi: @Builder izohi ravon interfeysni taʼminlash orqali obyekt yaratishni soddalashtiruvchi quruvchi sinfini yaratadi. Bu yangi ob'ektlarni yaratish uchun zarur bo'lgan kod miqdorini kamaytiradi.
- O'zgarmas ob'ektlarni rag'batlantiradi: Yaratilgan quruvchi sinf o'zgarmas ob'ektlardan foydalanishni rag'batlantiradi. Sinf o'zgarmas ob'ektni qaytaruvchi build() usulini yaratadi va bu asl ob'ektga o'zgartirishlar kiritilishiga yo'l qo'ymaydi.
- Birlamchi qiymatlarni qo‘llab-quvvatlaydi: @Builder izohi maydonlar uchun standart qiymatlarni qo‘llab-quvvatlaydi. Bu ishlab chiquvchilarga ob'ektni ishga tushirish uchun zarur bo'lgan kod miqdorini kamaytiradigan maydonlar uchun standart qiymatlarni aniqlash imkonini beradi.
- O'qishni yaxshilaydi: Yaratilgan quruvchi sinf tomonidan taqdim etilgan ravon interfeys kodning o'qilishini yaxshilaydi, uni tushunish va saqlashni osonlashtiradi.
Spring Boot-da @Builder-dan foydalanish
Spring Boot-da @Builder-dan foydalanish uchun avvalo loyihangizga Lombok bog'liqligini qo'shishingiz kerak. Buni build.gradle faylingizga quyidagi bog'liqlikni qo'shish orqali qilishingiz mumkin:
dependencies { implementation 'org.projectlombok:lombok:1.18.20' }
Lombok bog'liqligini qo'shgandan so'ng, Spring Boot darslarida @Builder izohidan foydalanishingiz mumkin. Mana @Builder izohidan foydalanadigan Spring Boot sinfiga misol:
import lombok.Builder; import lombok.Data; @Data @Builder public class Person { private String name; private int age; private String address; } // Usage in code Person person = Person.builder() .name("John") .age(30) .address("123 Main Street") .build();
Yuqoridagi misolda @Builder izohi Person sinfi uchun quruvchi sinfini yaratadi, u yangi Person obyektini yaratish uchun ishlatiladi. Quruvchi klassi ravon interfeysni ta'minlaydi, bu esa Person ob'ektining qiymatlarini o'rnatishni osonlashtiradi.
Xulosa
Spring Boot-dagi @Builder izohi obyekt yaratishni soddalashtiradi va kodni o‘qishni yaxshilaydi. U ob'ekt qiymatlarini o'rnatish uchun ravon interfeysni ta'minlovchi quruvchi sinfini yaratadi, ob'ektni yaratish uchun zarur bo'lgan kod miqdorini kamaytiradi va o'zgarmas ob'ektlardan foydalanishni rag'batlantiradi. Ko'p funksiyalari bilan @Builder izohi ishlab chiquvchilar uchun Spring Boot ilovalarida foydalanish uchun kuchli vositadir.