این بخش به جزئیات بوت بهار فرو می رود. در اینجا می توانید در مورد ویژگی های کلیدی که ممکن است بخواهید از آن استفاده کرده و سفارشی کنید ، بیاموزید. اگر قبلاً این کار را نکرده اید ، ممکن است بخواهید بخش های "شروع کار" و "توسعه با بوت بهار" را بخوانید ، به طوری که زمینه های خوبی از اصول اولیه داشته باشید.
1. Springapplication
کلاس SpringApplication یک روش مناسب برای راه اندازی برنامه بهاری را ارائه می دهد که از یک روش اصلی () شروع می شود. در بسیاری از مواقع ، می توانید به روش Static Springapplication. run ، همانطور که در مثال زیر نشان داده شده است ، واگذار کنید:
جاوا
وارد کردن org. springframework. boot. springapplication ؛وارد کردن org. springframework. boot. autoconfigure. springbootapplication ؛ کلاس عمومی springbootapplication myApplication>
کلاتلین
وارد کردن org. springframework. boot. autoconfigure. springbootapplication واردات org. springframework. boot. runapplication کلاس springbootapplication myapplication fun اصلی (استدلال ها: آرایه)
هنگامی که برنامه شما شروع می شود ، باید چیزی شبیه به خروجی زیر مشاهده کنید:
بشر\/ ___) || _) |||||||(_ | |)))) '| ____ |. __ | _ || _ | _ || _ __ ، |//// ======== | _ | ============ | ___/ =/ _/ _/ _/ :: boot بهار :: (v3. 0. 6) 2023-04-20T10: 09: 01. 134Z اطلاعات 20343 --- [Main] O. S. B. D. F. S. MyApplication: شروع MyApplication با استفاده از Java 17. 0. 6 با PID 20343 (/opt/apps/myapp. jar آغاز شده توسط MyUser in/opt/apps/) 2023-04-20T10: 09: 01. 144Z اطلاعات 20343 --- [Main] O. S. B. D. F. S. MyApplication: بدون مجموعه مشخصات فعال ، سقوط به 1 مشخصات پیش فرض: "پیش فرض" 2023-04-20T10: 03. 394Z اطلاعات 203433--- [Main] O. S. B. W. EMBEBEDDED. TOMCAT. TOMCATWEBSERVER: TOMCAT با درگاه (ها) اولیه: 8080 (HTTP) 2023-04-20T10: 09: 03. 664Z Info 20343 --- [Main] O. Apache. Catalina. core. core. standardservice: سرویس شروع [TOMCAT] 2023-04-20T10: 09: 03. 664Z اطلاعات 20343 --- [Main] O. Apache. Catalina. Core. standardengine: شروع موتور سرویس: [Apache Tomcat/10. 1. 8] 2023-04-20T10: 09: 03. 840Z Info 20343 --- [Main] O. A. C. C. C. [Tomcat]. [LocalHost]. [/]: اولیه سازی بهار تعبیه شده 2023-04-20T10: 03. 843Z اطلاعات 20343 ---- [Main] W. S. C. ServletWebServerApplicationContext: Root WebApplicationContext: اولیه سازی در 2345 ms 2023-04-20T10: 09: 04. 616z اطلاعات 20343 --- [اصلی] O. S. B. EMBEDDED. TOMCAT. TOMCAT. TomCatwebServer: TomCat edpt (S)Context Path '' 2023-04-20T10: 09: 04. 642Z اطلاعات 20343 --- [Main] O. S. B. D. F. S. MyApplication: MyApplication را در 5. 022 ثانیه شروع کرد (فرآیند اجرای 6. 616) 2023-04-20T10: 09: 04. 834Z Info 20343-- [ionshutdownhook] o. apache. catalina. core. standardservice: سرویس توقف [Tomcat]
به طور پیش فرض ، پیام های ورود به سیستم اطلاعاتی نشان داده شده است ، از جمله برخی از جزئیات راه اندازی مربوطه ، مانند کاربر که برنامه را راه اندازی کرده است. اگر به سطح ورود به سیستم غیر از اطلاعات نیاز دارید ، می توانید آن را تنظیم کنید ، همانطور که در سطح ورود به سیستم شرح داده شده است. نسخه برنامه با استفاده از نسخه اجرای از بسته اصلی کلاس برنامه تعیین می شود. ورود به سیستم اطلاعات راه اندازی را می توان با تنظیم Spring. Main. Log-Startup-Info به False خاموش کرد. این همچنین ورود به سیستم پروفایل های فعال برنامه را خاموش می کند.
| برای افزودن ورود به سیستم اضافی در هنگام راه اندازی ، می توانید LogstartupInfo (Boolean) را در زیر کلاس از SpringApplication نادیده بگیرید. |
1. 1شکست راه اندازی
اگر برنامه شما نتواند شروع کند ، ناکامی های ثبت شده ثبت شده فرصتی برای ارائه یک پیام خطای اختصاصی و یک اقدام مشخص برای رفع مشکل دارند. به عنوان مثال ، اگر یک برنامه وب را در پورت 8080 شروع کنید و آن درگاه در حال استفاده است ، باید چیزی شبیه به پیام زیر را ببینید:
************************************ توضیحات: کانتینر Servlet تعبیه شده شروع به کار نکرد. بندر 8080 قبلاً در حال استفاده بود. عمل: فرآیندی را که در پورت 8080 گوش می دهد شناسایی و متوقف کنید یا این برنامه را برای گوش دادن به درگاه دیگر پیکربندی کنید.
| Boot Spring پیاده سازی های بی شماری را ارائه می دهد ، و می توانید خود را اضافه کنید. |
اگر هیچ آنالایزر خرابی قادر به انجام استثناء نیست ، هنوز می توانید گزارش کامل شرایط را نمایش دهید تا بهتر بفهمید چه اشتباهی رخ داده است. برای این کار ، شما باید ویژگی اشکال زدایی را فعال کنید یا ورود به سیستم اشکال زدایی را برای org. springframework. boot. autoconfigure. logging. conditionevaluationreportlogginglistener فعال کنید.
به عنوان مثال ، اگر با استفاده از Jav a-jar برنامه خود را اجرا می کنید ، می توانید ویژگی اشکال زدایی را به شرح زیر فعال کنید:
$ jav a-jar myProject-0. 0. 1-snapshot. jar-debug
1. 2اولیه سازی تنبل
SpringApplication اجازه می دهد تا یک برنامه به صورت تنبل اولیه اولیه شود. هنگامی که اولیه سازی تنبل فعال می شود ، لوبیا ها به عنوان مورد نیاز ایجاد می شوند و نه در هنگام راه اندازی کاربرد. در نتیجه ، فعال کردن اولیه سازی تنبل می تواند زمان شروع کار شما را کاهش دهد. در یک برنامه وب ، فعال سازی اولیه تنبل باعث می شود بسیاری از لوبیای مرتبط با وب تا زمان دریافت درخواست HTTP اولیه نشوند.
نکته منفی در اولیه سازی تنبل این است که می تواند کشف یک مشکل در برنامه را به تأخیر بیندازد. اگر یک لوبیای نادرست با تنبلی اولیه انجام شود ، دیگر خرابی در هنگام راه اندازی رخ نمی دهد و مشکل فقط با شروع لوبیا آشکار می شود. همچنین باید مراقبت شود تا اطمینان حاصل شود که JVM دارای حافظه کافی برای اسکان تمام لوبیای برنامه و نه فقط مواردی است که در هنگام راه اندازی اولیه می شوند. به همین دلایل ، اولیه سازی تنبل به طور پیش فرض فعال نمی شود و توصیه می شود تنظیم دقیق اندازه پشته JVM قبل از فعال سازی اولیه تنبل انجام شود.
اولیه سازی تنبل را می توان با استفاده از روش LazyInitialization در SpringApplicationBuilder یا روش SetLazyInitialization در SpringApplication به صورت برنامه ای فعال کرد. از طرف دیگر ، می توان آن را با استفاده از خاصیت Spring. Main. Lazy-initialization همانطور که در مثال زیر نشان داده شده است فعال کنید:
خواص
Spring. main. Lazy-initialization = درست است
بازار فارکس...
ما را در سایت بازار فارکس دنبال می کنید
برچسب :
نویسنده : زکریا هاشمی
بازدید : <-PostHit->
تاريخ : چهارشنبه
8 شهريور
1402 ساعت: 21:30