מדריך מהיר לספרינג רו

1. סקירה כללית

Spring Roo הוא כלי פיתוח יישומים מהיר (RAD) שמטרתו לספק תוצאות מהירות ומיידיות המתמקדות ביישומי אינטרנט באביב ובטכנולוגיות Spring חדשות יותר. זה מאפשר לנו ליצור קוד boilerplate ומבנה פרויקט ליישומי Spring עם פקודות פשוטות לשימוש.

Roo יכול לשמש כיישום עצמאי הפועל משורת הפקודה של מערכת ההפעלה. אין חובה להשתמש ב- Eclipse, Spring Tool Suite (STS) או בכל IDE אחר; למעשה, אנו יכולים להשתמש בכל עורך טקסט לכתיבת קוד!

עם זאת, לשם פשטות, נשתמש ב- STS IDE עם הרחבת Roo.

2. התקנת ספרינג רו

2.1. דרישות

כדי לעקוב אחר מדריך זה, יש להתקין את אלה:

  1. Java JDK 8
  2. STS
  3. אביב רו

2.2. הַתקָנָה

ברגע שאנחנו מורידים ומתקינים את Java JDK ו- STS, עלינו לפתוח את ה- Spring Roo ולהוסיף אותו לנתיב המערכת.

בואו ניצור את ROO_HOME משתנה הסביבה ולהוסיף % ROO_HOME% \ bin אל השביל.

כדי לוודא שה- Roo מותקן כראוי, אנו יכולים לפתוח את שורת הפקודה ולבצע את הפקודות הבאות:

mkdir baeldung cd baeldung roo quit

לאחר מספר שניות נראה:

 _ ___ _ __ _ __ (_) _ __ __ _ _ __ ___ ___ / __ | '_ \ | '__ | | '_ \ / _` | | '__ / _ \ / _ \ \ __ \ | _) | | | | | | | (_ | | | | | (_) | (_) | | ___ / .__ / | _ | | _ | _ | _ | \ __, | | _ | \ ___ / \ ___ / | _ | | ___ / 2.0.0.RC1 ברוך הבא ל- Spring Roo. לקבלת סיוע לחץ על TAB או הקלד "hint" ואז הקש ENTER.

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

חשוב: Spring Roo 2.0 אינו תואם לאחור עם 1.x.

2.3. הוספה ותצורה של הרחבת STS

מחוץ לקופסה, STS תומכת בפיתוח יישומי אביב וכוללת הרחבות מוכנות לשימוש. עם זאת, הרחבת Spring Roo אינה כלולה. לכן, נצטרך להוסיף אותו ידנית.

ב STS בוא נלך ל התקן תוכנה חדשה ולייבא סימניות אל אתרי תוכנה זמינים. נכון לעכשיו, סימניות נמצאות ב % ROO_HOME% \ conf תיקיה. לאחר שייבאנו את הסימניות נוכל לחפש בפשטות roo והתקן את הגרסה האחרונה של אביב IDE Roo תמיכה. בסופו של דבר, נתבקש להפעיל מחדש את STS.

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

לאחר שהתקנו את Roo Support ב- STS, עלינו להגדיר את התוסף. זה קל כמו להצביע על Roo Support % ROO_HOME% תיקיה. שוב, Spring Roo תחילת העבודה נותן צעדים מפורטים כיצד לעשות זאת.

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

3. פרויקט ראשון

3.1. הקמת פרויקט ב- STS

ב STS בואו נפתח את רו מעטפת חלון ולחץ על צור פרויקט Roo חדש סמל. זה יפתח א פרויקט רו חדש חַלוֹן.

נקרא לפרויקט roo ולהשתמש com.baeldung כשם החבילה ברמה העליונה שלנו. אנו יכולים להשאיר את כל ערכי ברירת המחדל האחרים ולהמשיך עד הסוף כדי ליצור פרויקט חדש באמצעות Roo.

ב- STS זה יפעיל את הפקודה הבאה עבורנו:

הגדרת פרויקט - topLevelPackage com.baeldung --projectName "roo" - java 8 - אריזה JAR

כאמור, איננו זקוקים ל- IDE ויכולנו להפעיל את הפקודה הזו מ- Roo Shell בעצמנו! לשם פשטות, אנו משתמשים בתכונות מובנות של STS.

אם נקבל את השגיאה הבאה:

לא ניתן היה לחשב את תוכנית הבנייה: לא ניתן היה לפתור את תוסף org.codehaus.mojo: aspectj-maven-plugin: 1.8 או את אחת התלות שלו: קריאת תיאור החפץ עבור org.codehaus.mojo: aspectj-maven-plugin: jar: 1.8

הדרך הקלה ביותר לתקן את זה היא לערוך ידנית pom.xml תיקון ועדכון aspectj.plugin.version מ 1.8 ל 1.9:

1.9

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

3.2. רו מעטפת

עכשיו הגיע הזמן להכיר את ה- Roo Shell. ממשק המשתמש העיקרי של Spring Roo הוא למעשה שורת פקודה!

לכן, בואו נחזור לחלון Roo Shell. בתוכו, בוא נפעיל את הפקודה הראשונה על ידי הקלדת 'h' ולחיצה על CTRL + SPACE:

רמז> רמז לעזרה

רו יציע אוטומטית פקודות עבורנו. אנחנו יכולים להקליד 'היי', ללחוץ על CTRL + רווח, ורו יציע אוטומטית רֶמֶז פקודה.

תכונה נהדרת נוספת של רו מעטפת היא מודעות להקשר. לדוגמה, הפלט של ה- רֶמֶז הפקודה תשתנה בהתאם לקלט הקודם.

בוא נבצע כעת את רֶמֶז פקד וראה מה קורה:

roo> רמז Roo דורש התקנה של תצורת התמדה. הקלד 'jpa setup' ואז הקש CTRL + SPACE. אנו ממליצים להקליד 'H' ואז CTRL + SPACE כדי להשלים את "HIBERNATE". לאחר הספק - לחץ על CTRL + SPACE לבחירת מסד נתונים. למטרות בדיקה, הקלד (או CTRL + SPACE) HYPERSONIC_IN_MEMORY. אם תלחץ שוב על CTRL + SPACE, תראה שאין אפשרויות נוספות. ככזה, אתה מוכן ללחוץ על ENTER כדי לבצע את הפקודה. לאחר התקנת JPA, הקלד 'רמז' והזן את ההצעה הבאה.

זה נותן לנו את הצעדים הבאים שאנחנו צריכים לבצע. בואו נוסיף מסד נתונים עכשיו:

roo> jpa setup - ספק HIBERNATE - database HYPERSONIC_IN_MEMORY נוצר SRC_MAIN_RESOURCES \ application.properties עודכן SRC_MAIN_RESOURCES \ application.properties עודכן SRC_MAIN_RESOURCES \ application-dev.properties עודכן שורש \ pom.xml [תלות באביב. -סטארטר-נתונים-jpa :, org.springframework.boot: spring-boot-starter-jdbc :, org.hsqldb: hsqldb :; נכס נוסף 'springlets.version' = '1.2.0.RC1'; תלות הוספה io.springlets: springlets-data-jpa: $ {springlets.version}, io.springlets: springlets-data-jpa: $ {springlets.version}; תלות הוספה io.springlets: springlets-data-commons: $ {springlets.version}, io.springlets: springlets-data-commons: $ {springlets.version}]

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

בוא נפעיל את הפקודות קודםואנחנו נעבור אותם אחר כך:

roo> ישות jpa --class ~ .domain. מחרוזת שדה ספר - כותרת שדה --not מחרוזת שדהull - שדה שם מחבר --notNull מחרוזת שדה - שדה isbn - מאגר notNull jpa - שרות ~ .domain.Book - כל הגדרת mvc אינטרנט הגדרת תצוגת mvc אינטרנט - סוג THYMELEAF בקר mvc אינטרנט - שגיאה ~ .domain.Book - תגובה סוג THYMELEAF

כעת אנו מוכנים להריץ את היישום שלנו. עם זאת, בואו נחזור אחורה דרך הפקודות כדי לראות מה עשינו.

ראשית, יצרנו ישות קבועה חדשה של JPA ב- src / main / java תיקיה. לאחר מכן, יצרנו שלושה חוּט שדות ב סֵפֶר בכיתה, נתן להם שם והגדיר שלא ריק.

לאחר מכן, יצרנו מאגר נתונים של Spring Data עבור הישות שצוינה ויצרנו ממשק שירות חדש.

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

3.3. הפעלת האפליקציה

בואו נרענן את הפרויקט ונלחץ עליו לחיצה ימנית roo פרויקט ובחר הפעל כ-> App Boot Boot.

לאחר תחילת היישום, אנו יכולים לפתוח דפדפן אינטרנט ולעבור אל // localhost: 8080. לאחר מכן, לסמל Roo, נראה סֵפֶר בתפריט ומתחת לשתי אפשרויות: צור ספר ו רשימת ספרים. אנו יכולים להשתמש בזה כדי להוסיף ספר ליישום שלנו ולהציג את רשימת הספרים שנוספו.

3.4. תכונות אחרות

כשאנחנו פותחים Book.java בתיק הכיתה, נבחין שהמחלקה היא ביאור @ רו ביאורים. אלה נוספו על ידי Roo Shell ומשמשים לשליטה והתאמה אישית של התוכן של קבצי AspectJ בין-סוג ההצהרה (ITD). אנו יכולים להציג את הקבצים ב- Package Explorer ב- STS על ידי ביטול הבחירה ב"הסתר Spring Roo ITDs "שנוצר בתפריט View, או שנוכל לפתוח את הקבצים ישירות ממערכת הקבצים.

להערות רו יש מָקוֹר מדיניות שימור. זה אומר ההערות לא יופיעו בקוד-קוד מחלקה מורכבולא תהיה שום תלות ברו ביישומים פרוסים.

חלק נוסף, ללא ספק חסר ב Book.java בכיתה הם גטרס ו קובעים. אלה מאוחסנים בקבצי ITDs נפרדים של AspectJ, כאמור. רו ישמור על קוד ה- Boilerplate באופן פעיל עבורנו. לכן, שינויים בשדות בכל מחלקה יבואו לידי ביטוי באופן אוטומטי ב- ITDs של AspectJ מכיוון שרו "מנטרת" את כל השינויים - נעשית באמצעות Roo Shell או ישירות על ידי מפתח ב- IDE.

רו ידאג לקוד החוזר כמו toString () אוֹ שווים() גם שיטות.

יתר על כן, ניתן להסיר את המסגרת מהפרויקט בקלות, תוך הימנעות מנעילת ספק, על ידי הסרת ביאורים ודחיקת ה- AspectJ ITD לקוד Java רגיל.

4. מסקנה

בדוגמה מהירה זו הצלחנו להתקין ולהגדיר את Spring Roo ב- STS ויצרנו פרויקט קטן.

השתמשנו ב- Roo Shell כדי להגדיר את זה ולא היינו צריכים לכתוב שורה אחת של קוד Java בפועל! והצלחנו להשיג אב טיפוס של אפליקציה עובדת תוך מספר דקות ורו דאג עבורנו לכל קוד הדוד.

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