Spring Boot da ko'plab ishlab chiquvchilar ilovalari avtomatik konfiguratsiya, komponentlarni skanerlash va "ilova klassida" qo'shimcha konfiguratsiyani aniqlash imkoniyatidan foydalanishini xohlashadi. Ushbu uchta funksiyani faollashtirish uchun bitta @SpringBootApplication annotatsiyasidan foydalanish mumkin:
-
@EnableAutoConfiguration: Spring Boot ning avtomatik konfiguratsiya mexanizmini faollashtiradi -
@ComponentScan: Ilovani joylashgan paketni@Componentannotatsiyasini skanerlashni faollashtiradi -
@SpringBootConfiguration: Kontekstda qo'shimcha binlarni ro'yxatga olish yoki qo'shimcha konfiguratsiya sinflarini import qilish imkonini beradi. Bu Spring ning standart@Configurationannotatsiyasiga muqobil bo'lib, sizning integratsion testlaringizdagi konfiguratsiyalarni aniqlashga yordam beradi.
// @SpringBootConfiguration, @EnableAutoConfiguration, @ComponentScan bilan bir xil @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
// @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan bilan bir xil @SpringBootApplication class MyApplication fun main(args: Array<String>) { runApplication<MyApplication>(*args) }
@SpringBootApplication shuningdek
@EnableAutoConfiguration va
@ComponentScan annotatsiyalarining atributlarini sozlash uchun taxalluslar beradi.
Bu funksiyalarning hech biri majburiy emas va siz ushbu yagona annotatsiyani faollashtirgan har qanday funksiyalar bilan almashtirishingiz mumkin. Masalan, ilovangizda komponentlarni skanerlash yoki konfiguratsiya xususiyatlarini skanerlashdan foydalanmaslik mumkin:
@SpringBootConfiguration(proxyBeanMethods = false) @EnableAutoConfiguration @Import({ SomeConfiguration.class, AnotherConfiguration.class }) public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
@SpringBootConfiguration(proxyBeanMethods = false) @EnableAutoConfiguration @Import(SomeConfiguration::class, AnotherConfiguration::class) class MyApplication fun main(args: Array<String>) { runApplication<MyApplication>(*args) }
Bu misolda MyApplication har qanday boshqa Spring Boot ilovasi kabi, faqat @Component va @ConfigurationProperties bilan anotatsiyalangan sinflar avtomatik ravishda aniqlangan emas va foydalanuvchi binlari ochiq tarzda import qilinadi (qarang @Import annotatsiyasiga).
Ilovani bajarish
Ilovani jar-fayl sifatida qadoqlash va o'rnatilgan HTTP serveridan foydalanishning eng katta afzalliklaridan biri shundaki, siz boshqa har qanday ilova kabi ilovani ishga tushirishingiz mumkin. Bu Spring Boot ilovalarini debug qilish uchun qo'llaniladi. Sizning IDE uchun hech qanday maxsus plaginlar yoki kengaytmalar kerak emas.
IDE dan ishga tushirish
Siz Spring Boot ilovasini IDE dan Java ilovasi sifatida ishga tushirishingiz mumkin. Biroq, avval loyihani import qilishingiz kerak. Import qilish bosqichlari sizning IDE va qurilish tizimingizga bog'liq. Ko'pchilik IDE lar Maven loyihalarini to'g'ridan-to'g'ri import qila oladi. Masalan, Eclipse foydalanuvchilari Import… → Existing Maven Projects ni File menyusidan tanlashlari mumkin.
Agar loyihangizni IDE ga to'g'ridan-to'g'ri import qila olmasangiz, qurilish plaginidan foydalanib IDE metama'lumotlarini hosil qilishingiz mumkin. Maven Eclipse va IDEA uchun plaginlarni o'z ichiga oladi. Gradle turli IDE lar uchun plaginlarni taqdim etadi.
Relaunch tugmachasidan foydalanishlari mumkin, bu esa mavjud bo'lgan har qanday nusxani yopishiga ishonch hosil qiladi.
Qadoqlangan ilovani ishga tushirish
Agar siz Spring Boot uchun Maven yoki Gradle plaginlaridan foydalanib ishga tushiriladigan jar-fayl hosil qilsangiz, ilovangizni java -jar buyrug'i yordamida ishga tushirishingiz mumkin, quyidagi misolda ko'rsatilgani kabi:
$ java -jar target/myapplication-0.0.1-SNAPSHOT.jar
Shuningdek, masofaviy debuglashni faollashtirgan holda qadoqlangan ilovani ishga tushirish mumkin. Bu quyidagi misolda ko'rsatilgani kabi qadoqlangan ilovaga debuggerni ulash imkonini beradi:
$ java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n \
-jar target/myapplication-0.0.1-SNAPSHOT.jar
Maven uchun plagin ishlatish
Spring Boot ning Maven uchun plagini run maqsadini o'z ichiga oladi, bu ilovani tezda kompilyatsiya qilish va ishga tushirish uchun ishlatiladi. Ilovalar o'zingizning IDE ning o'zi kabi ochiq tarzda ishga tushiriladi. Quyidagi misolda Spring Boot ilovasini ishga tushirish uchun tipik Maven buyruqlari ko'rsatilgan:
$ mvn spring-boot:run
Shuningdek, quyidagi misolda ko'rsatilgani kabi tizim muhit o'zgaruvchisi MAVEN_OPTS dan foydalanishingiz mumkin:
$ export MAVEN_OPTS=-Xmx1024m
Gradle uchun plagin ishlatish
Spring Boot ning Gradle plagini shuningdek bootRun vazifasini o'z ichiga oladi, bu ochiq tarzda ilovani ishga tushirish uchun ishlatiladi. bootRun vazifasi har doim org.springframework.boot va java plaginlari qo'llanilganda qo'shiladi, quyidagi misolda ko'rsatilgani kabi:
$ gradle bootRun
Shuningdek, quyidagi misolda ko'rsatilgani kabi tizim muhit o'zgaruvchisi JAVA_OPTS dan foydalanishingiz mumkin:
$ export JAVA_OPTS=-Xmx1024m
Hot Swap
Spring Boot ilovalari oddiy Java ilovalari bo'lgani uchun, JVM ning hot swap funksiya "qutidan chiqqan" kabi ishlashi kerak. JVM ning hot swap funksiyasi bir nechta bayt-kodlarni almashtirish borasida cheklangan. To'liqroq yechim uchun JRebel dan foydalanishingiz mumkin.
spring-boot-devtools moduli shuningdek, ilovalarni tezda qayta ishga tushirishni qo'llab-quvvatlash uchun vositalarni o'z ichiga oladi.
GO TO FULL VERSION