אביב אתחול ללא שרת אינטרנט

1. הקדמה

Spring Boot הוא מסגרת נהדרת ליצירה מהירה של יישומי Java חדשים למגוון מקרי שימוש. אחד השימושים הפופולריים ביותר הוא כשרת אינטרנט, תוך שימוש באחד ממכולות השרת המשובצות הרבות הנתמכות ומנועי התבנית.

למרות זאת, ל- Spring Boot מספר שימושים שאינם דורשים שרת אינטרנט: יישומי קונסולה, תזמון עבודה, עיבוד אצווה או זרם, יישומים ללא שרת ועוד.

במדריך זה נבחן מספר דרכים שונות לשימוש באביב אתחול ללא שרת אינטרנט.

2. שימוש בתלות

הדרך הקלה ביותר למנוע יישום Spring Boot מלהפעיל שרת אינטרנט מוטבע היא לא לכלול את המתנע של שרת האינטרנט בתלות שלנו.

פירוש הדבר שלא כולל את קפיץ-אתחול-רשת תלות בקובץ הבניין Maven POM או ב- Gradle. במקום זאת, נרצה להשתמש בבסיסי יותר אביב-אתחול-מתנע תלות במקומה.

זכור ייתכן שתלות של Tomcat תיכלל ביישום שלנו כתלות מעבר. במקרה זה, ייתכן שנצטרך להוציא את ספריית Tomcat מכל התלות שהיא כוללת.

3. שינוי בקשת האביב

דרך נוספת להשבית את שרת האינטרנט המשובץ ב- Spring Boot היא באמצעות קוד. אנחנו יכולים להשתמש ב- SpringApplicationBuilder:

SpringApplicationBuilder חדש (MainApplication.class) .web (WebApplicationType.NONE) .run (args);

או שאנחנו יכולים להשתמש בהתייחסות ל- אביב יישום:

יישום SpringApplication = חדש SpringApplication (MainApplication.class); application.setWebApplicationType (WebApplicationType.NONE); application.run (טוען);

בכל מקרה, יש לנו את היתרון בהשארת ה- API של סרוולט ומכולות זמינים על מסלול הכיתה. המשמעות היא שאנחנו עדיין יכולים להשתמש בספריות שרתי האינטרנט מבלי להפעיל את שרת האינטרנט. זה יכול להיות שימושי, למשל, אם אנו רוצים להשתמש בהם כדי לכתוב בדיקות או להשתמש בממשקי ה- API שלהם בקוד שלנו.

4. שימוש במאפייני יישומים

שימוש בקוד להשבתת שרת האינטרנט הוא אפשרות סטטית - זה ישפיע על היישום שלנו לא משנה היכן נפרוס אותו. אבל מה אם נרצה ליצור את שרת האינטרנט בנסיבות ספציפיות?

במקרה זה, אנו יכולים להשתמש במאפייני יישום Spring:

spring.main.web-application-type = none

או להשתמש ב- YAML המקביל:

קפיץ: ראשי: סוג יישום אינטרנט: אין

היתרון בגישה זו הוא שאנחנו יכולים לאפשר את שרת האינטרנט באופן מותנה. באמצעות פרופילי Spring או תנאים נוכל לשלוט בהתנהגות שרת האינטרנט בפריסות שונות.

לדוגמא, אנו יכולים להפעיל את שרת האינטרנט בפיתוח רק כדי לחשוף מדדים או נקודות קצה אחרות של האביב, תוך שמירה עליו מושבת בייצור מטעמי אבטחה.

שים לב שיש בגרסאות קודמות של Spring Boot השתמשו ב- בוליאני נכס בשם סביבת רשת כדי להפעיל ולהשבית את שרת האינטרנט. עם אימוץ מכולות מסורתיות ותגובות באביב אתחול, שמו של הנכס שונה ועכשיו הוא משתמש בא enum.

5. מסקנה

ישנן סיבות רבות ליצירת יישומי Spring Boot ללא שרת אינטרנט. במדריך זה ראינו מספר דרכים לעשות זאת. לכל אחד מהם יתרונות וחסרונות משלו, לכן עלינו לבחור בגישה העונה בצורה הטובה ביותר על צרכינו.


$config[zx-auto] not found$config[zx-overlay] not found