קוראים כמוך עוזרים לתמוך ב-MUO. כאשר אתה מבצע רכישה באמצעות קישורים באתר שלנו, אנו עשויים להרוויח עמלת שותף. קרא עוד.

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

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

בחינת תכונות הליבה של אביב

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

  • מיכל ליבה
  • גישה/אינטגרציה לנתונים
  • אינטרנט
  • תכנות ומכשור מונחה היבטים
  • מִבְחָן

מיכל קפיץ

Spring משתמש במיכל כדי ליצור ולנהל רכיבים שונים (שהוא מכנה שעועית) של יישום. המיכל נגיש דרך ממשק ApplicationContext של Spring, המאפשר לך ליצור מופע, להגדיר ולהרכיב אובייקטים (או שעועית). המיכל של Spring יכול לבצע את תפקידו הודות לסיוע של מטא נתונים של תצורה.

instagram viewer

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

Spring Data Access/Integration

היבט הגישה/אינטגרציה לנתונים של מסגרת האביב מורכב ממספר תת-מודולים: JDBC, ORM, OXM, JMS ועסקאות. מודולים אלה פועלים יחד כדי לנהל את כל הנתונים שבהם האפליקציה שלך משתמשת.

רשת אביב

תכונת האינטרנט של אפליקציית Spring מספקת אינטגרציה מוכוונת אינטרנט עבור האפליקציה שלך. בנוסף לאינטגרציה מוכוונת אינטרנט, Spring מספקת מודול servlet אינטרנט. מודול servlet האינטרנט אחראי על ה-Spring's יישום דגם-view-controller (MVC)..

תכנות מונחה היבט אביבי (AOP)

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

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

מבחן אביב

האביב מייחס חשיבות משמעותית לבדיקת יישום. מודול הבדיקה שלו תומך בבדיקות אינטגרציה ובדיקת יחידות באמצעות JUnit או TestNG.

יצירת יישום אביב

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

  • מאפליקציית האינטרנט (או Spring Initializr) באתר הרשמי של Spring.
  • יצירה ידנית של מבנה ספריית פרויקט ומפרטי בנייה.
  • עם חבילת כלי האביב.
  • משורת הפקודה עם ממשק שורת הפקודה Spring Boot.
  • עם Eclipse IDE.
  • עם IntelliJ IDEA IDE.

הגישה הפופולרית ביותר היא Spring Initializr:

כפי שאתה יכול לראות מהתמונה למעלה, יהיו לך מספר החלטות לקבל. הראשון הוא סוג הפרויקט שאתה רוצה לאתחל. אביב מספק שלוש אפשרויות: Gradle עבור Groovy, Gradle עבור Kotlin, או Maven. יישום לדוגמה זה ישתמש בפרויקט Maven.

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

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

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

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

עכשיו יש לך פרויקט Spring Boot (שהוא אחת מהספריות של Spring). השלב האחרון הוא לייבא את הפרויקט ל-IDE המועדף עליך. לפרויקט האביב שלך יהיה מבנה הפרויקט הבא:

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

  • Pom.xml: זה מכיל את נתוני תצורת היישום Spring.
  • OnlineShopaholicsApplication.java: זוהי המחלקה הראשית של Spring Boot, אשר מבצעת את היישום.
  • OnlineShopaholicsApplicationTest.java: זהו א מבחן JUnit מחלקה שמבטיחה שהקשר (או מיכל) היישום Spring נטען כהלכה.

הפעלת אפליקציית אביב

למחלקת האתחול של Spring, שבמקרה זה היא מחלקת OnlineShopaholicsApplication, יש את הקוד הראשוני הבא:

חֲבִילָה com.onlineshopaholics;

יְבוּאorg.springframework.מַגָף.SpringApplication;
יְבוּאorg.springframework.מַגָף.autoconfigure.SpringBootApplication;

@SpringBootApplication
פּוּמְבֵּימעמדOnlineShopaholics Application{
פּוּמְבֵּיסטָטִיבָּטֵלרָאשִׁי(מחרוזת[] args){
SpringApplication.run (OnlineShopaholicsApplication.מעמד, args);
}
}

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

  • @EnableAutoconfiguration: הערה זו מאפשרת קביעת תצורה אוטומטית של Spring Boot. זה אומר שהוא אומר ל-Spring boot להגדיר כל רכיב שהוא חושב שהאפליקציה שלך תצטרך לתפקד.
  • @ComponentScan: ביאור זה מאפשר לך לאפשר סריקת רכיבים. תכונה זו חשובה, היא מאפשרת ל-Spring לגלות ולרשום באופן אוטומטי רכיבים מוערים אחרים לשימוש בהקשר של יישום Spring (או מיכל).
  • @SpringBootConfiguration: זוהי צורה מיוחדת של הערת @Configureation, המאפשרת לך לרשום שעועית (או אובייקטים) בהקשר של יישום Spring.

ההיבט החשוב הנוסף של הקוד למעלה הוא רָאשִׁי() השיטה, היא מבצעת את היישום שלך. כאשר היישום מופעל כעת, הוא פשוט מפעיל את השרת. לכן, אם ברצונך להוסיף פונקציונליות נוספת לאפליקציה, תצטרך לעדכן את הקוד:

חֲבִילָה com.onlineshopaholics;

יְבוּאorg.springframework.מַגָף.SpringApplication;
יְבוּאorg.springframework.מַגָף.autoconfigure.SpringBootApplication;
יְבוּאorg.springframework.web.לִקְשׁוֹר.ביאור.GetMapping;
יְבוּאorg.springframework.web.לִקְשׁוֹר.ביאור.RequestParam;
יְבוּאorg.springframework.web.לִקְשׁוֹר.ביאור.RestController;

@SpringBootApplication
@RestController
פּוּמְבֵּימעמדOnlineShopaholics Application{
פּוּמְבֵּיסטָטִיבָּטֵלרָאשִׁי(מחרוזת[] args){
SpringApplication.run (OnlineShopaholicsApplication.מעמד, args);
}

@GetMapping("/צרכן")
פּוּמְבֵּי חוּט ברוכים הבאים(@RequestParam (ערך = "שֵׁם", defaultValue = "צרכן") חוּט שם) {
לַחֲזוֹרחוּט.פוּרמָט("ברוך הבא %s!", שם);
}
}

ליישום Spring Boot יש כעת שלוש הערות חדשות:

  • @RestController: ההערה הזו מסמנת את המחלקה כבקר, כך שכל מתודה במחלקה שלמעלה (חוץ מה-main()) תחזיר אובייקט דומיין במקום תצוגה.
  • @GetMapping: הערה זו ממפה בקשות HTTP GET לשיטות כותרת ספציפיות. לכן, בכל פעם שאתה יוצר בקשה עבור "/customer" בדפדפן, שיטת Welcome() תטפל בבקשה על ידי החזרת ערך מחרוזת.
  • @RequestParam: הערה זו מציינת שפרמטר מתודה צריך להיות כבול לפרמטר בקשת אינטרנט.

עם הקוד המעודכן האביב שלך OnlineShopaholics Application כעת יש דף לקוחות שתוכל להציג בדפדפן שלך. הפעלת האפליקציה תפעיל את השרת ויפיק פלט במסוף.

יש הרבה מידע חשוב בפלט. זה אומר לך שהשרת פועל, זה אומר לך כמה זמן לקח תהליך האתחול, וזה אומר לך באיזו יציאה האפליקציה פועלת (8080, כברירת מחדל). לכן, אם אתה מנווט ל http://localhost: 8080/לקוח תראה את הפלט הבא בדפדפן שלך:

עכשיו אתה יכול לעצב את תצוגת היישום שלך

קובץ חשוב נוסף במבנה הפרויקט שאולי תבחין בו הוא תבניות תיקייה. באופן אידיאלי, ה OnlineShopaholics Application המחלקה צריכה לשמש כבקר, המטפל בבקשות לתצוגות שונות. לכן, ביישום שלם, מחלקת הבקר לא צריכה להכיל את הטקסט שיוצג בתצוגה של הבקשה שלו.

במקום זאת, תצטרך ליצור קובצי תבניות באמצעות HTML ולמקם אותם בתיקיית התבניות של יישום האביב שלך.