מבוא ל- Spring Boot CLI

1. הקדמה

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

מאמר קצר זה מעיין במהירות כיצד להגדיר את Spring Boot CLI ולהפעיל פקודות מסוף פשוטות להפעלת שירותי מיקרו שהוגדרו מראש.

נשתמש באביב אתחול CLI 2.0.0.RELEASE עבור מאמר זה. את הגרסה החדשה ביותר של Spring Boot CLI ניתן למצוא ב- Maven Central.

2. הגדרת CLI Boot Boot

אחת הדרכים הקלות ביותר להגדרת Spring Boot CLI היא שימוש ב- SDKMAN. הוראות התקנה והתקנה של SDKMAN ניתן למצוא כאן.

לאחר התקנת SDKMAN, הפעל את הפקודה הבאה כדי להתקין ולהגדיר באופן אוטומטי אתחול האביב CLI:

$ sdk להתקין את הקפיץ

כדי לאמת את ההתקנה, הפעל את הפקודה:

אביב - גרסה

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

3. פקודות טרמינל נפוצות

Spring Boot CLI מספק מספר פקודות שימושיות ותכונות מחוץ לקופסה. אחת התכונות המועילות ביותר היא Spring Shell, העוטפת פקודות הנחוצות אביב קידומת.

ל התחל את הקליפה המוטמעת, אנחנו רצים:

מעטפת קפיץ

מכאן נוכל להזין ישירות פקודות רצויות מבלי להמתין מראש ל- אביב מילת מפתח (מכיוון שאנחנו עכשיו במעטפת האביב).

למשל, אנחנו יכולים להציג את הגרסה הנוכחית של ה- CLI הפועל על ידי הקלדה:

גִרְסָה

אחת הפקודות החשובות ביותר היא לומר ל- Spring Boot CLI להריץ סקריפט גרובי:

הפעל את [SCRIPT_NAME]

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

בואו נסתכל מקרוב על אופן השימוש בתסריט גרובי עם Spring Boot CLI!

4. סקריפטים גרוביים חיוניים

גרובי ואביב מגיעים יחד עם Spring Boot CLI אל מאפשרים לתסריט מהיר של שירותי מיקרו חזקים וביצועים בפריסות Groovy בקובץ יחיד.

תמיכה ביישומים מרובי תסריטים דורשת בדרך כלל כלי בנייה נוספים כמו Maven או Gradle.

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

לקבלת רשימה של כל ההערות הגרוביות הנתמכות באביב, עיין במסמכים הרשמיים.

4.1. @לִתְפּוֹס

ה @לִתְפּוֹס ביאור ו- Java-esque של גרובי יְבוּא סעיפים מאפשרים ניהול תלות קל והזרקה.

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

בואו נסתכל כיצד להשתמש ב- @לִתְפּוֹס ביאור:

חבילה org.test @Grab ("spring-boot-starter-actuator") מחלקה @ RestController ExampleRestController {// ...}

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

הרשימה המלאה של @לִתְפּוֹס טיעונים - כל אחד מהם מציין ספרייה להורדה וייבוא ​​- זמין כאן.

4.2. @Controller, @RestController, ו @EnableWebMvc

כדי לזרז את הפריסה נוספת, נוכל לחלופין השתמש ב- Spring Boot CLI המסופק "רמזים לתפוס" כדי להסיק אוטומטית תלות נכונה לייבוא.

נעבור על כמה ממקרי השימוש הנפוצים להלן.

לדוגמא, אנו יכולים להשתמש במוכר @בקר ו @שֵׁרוּת ביאורים ל פיגום במהירות בקר ושירות MVC סטנדרטיים:

כיתת @ RestController דוגמה {@ MyService פרטי MyService פרטי; @GetMapping ("/") מחרוזת ציבורית helloWorld () {להחזיר myService.sayWorld (); }} מחלקת @ שירות MyService {מחרוזת ציבורית sayWorld () {להחזיר "עולם!"; }}

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

4.3. @אפשר WebSecurity

ל הוסף אפשרויות אבטחה של Spring Boot לאפליקציה שלנו, אנחנו יכולים להשתמש ב- @EnableWebSecurity ביאור, שיורד אוטומטית על ידי Spring Boot CLI.

להלן נשלים חלק מתהליך זה באמצעות ה- אביב-אתחול-התחלה-אבטחה תלות, הממנפת את @EnableWebSecurity ביאור מתחת למכסה המנוע:

חבילה bael.security @Grab ("spring-boot-starter-security") @RestController class SampleController {@RequestMapping ("/") למשל def public () {[הודעה: "שלום עולם!"]}} 

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

4.4. @מִבְחָן

ל להגדיר מבחן JUnit פשוט, אנחנו יכולים להוסיף את @Grab ('junit') אוֹ @מִבְחָן ביאורים:

חבילה bael.test @Grab ('junit') מבחן מחלקה {// ...}

זה יאפשר לנו לבצע בדיקות JUnit בקלות.

4.5. מקור מידע ו JdbcTemplate

ניתן לציין אפשרויות נתונים קבועות כולל מקור מידע אוֹ JdbcTemplate מבלי להשתמש במפורש ב @לִתְפּוֹס ביאור:

חבילה bael.data @Grab ('h2') @Configuration @EnableWebMvc @ComponentScan ('bael.data') class DataConfig {@Bean DataSource dataSource () {להחזיר EmbeddedDatabaseBuilder חדש (). SetType (EmbeddedDatabaseType.H2). ; }}

פשוט על ידי שימוש במוסכמות תצורה של שעועית אביב מוכרתתפסנו את מסד הנתונים המשובץ H2 והגדרנו אותו כ- מקור מידע.

5. תצורה מותאמת אישית

ישנן שתי דרכים עיקריות להגדרת שירות מיקרו אתחול באמצעות Spring Boot CLI:

  1. אנו יכולים להוסיף פרמטרים של ארגומנטים לפקודות המסוף שלנו
  2. אנו יכולים להשתמש בקובץ YAML מותאם אישית כדי לספק תצורת יישום

אתחול האביב יחפש באופן אוטומטי את / config ספריה עבור application.yml אוֹ application.properties

├── אפליקציה ├── app.groovy ├── תצורה ├── application.yml ... 

אנו יכולים גם להגדיר:

├── אפליקציה ├── example.groovy ├── example.yml ...

רשימה מלאה של מאפייני יישומים ניתן למצוא כאן באביב.

6. מסקנה

זה מסכם את ההליכה המהירה שלנו על Spring Boot CLI! לפרטים נוספים, עיין במסמכים הרשמיים.

וכרגיל, ניתן למצוא את קוד המקור למאמר זה ב- GitHub.


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