אביב עם מייבן

תוכן עניינים

  1. סקירה כללית
  2. תלות בסיסית באביב עם מייבן
  3. התמדה באביב עם מייבן
  4. אביב MVC עם מייבן
  5. אביב ביטחון עם מייבן
  6. מבחן אביב עם מייבן
  7. שימוש באבני דרך
  8. שימוש ב- Snapshots
  9. סיכום

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

מדריך זה ממחיש כיצד להגדיר תלות האביב דרך מייבן. את המהדורות האחרונות של האביב תוכלו למצוא ב- Maven Central.

2. תלות בסיסית באביב עם מייבן

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

נתחיל עם יסוד הגדרת Maven שישתמש רק בו ה אביב-הקשר תלות:

 5.2.8.RELEASE org.springframework spring-context $ {org.springframework.version} זמן ריצה 

תלות זו - אביב-הקשר - מגדיר את מיכל הזרקת האביב בפועל ויש לו מספר קטן של תלות: ליבת קפיץ, אביב-ביטוי, אביב-אוף, ו אביב-שעועית. אלה מגדילים את המכולה על ידי הפעלת תמיכה בחלק מה- טכנולוגיות הליבה של אביב: כלי עזר של Core Spring, שפת הבעת האביב (SpEL), התמיכה בתכנות מונחה-היבט ומנגנון JavaBeans.

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

כמו כן, שים לב כי JDK 8 היא גרסת Java המינימלית הנדרשת לאביב 5.2. הוא תומך גם ב- JDK 11 כסניף LTS הנוכחי וב- JDK 13 כגרסת OpenJDK האחרונה.

3. התמדה באביב עם מייבן

בואו נסתכל עכשיו תלות האביב בהתמדה - בעיקר אביב-אורם:

 org.springframework spring-orm $ {org.springframework.version} 

זה מגיע עם תמיכת שינה ו- JPA - כגון HibernateTemplate ו JpaTemplate - כמו גם כמה תלות נוספות הקשורות להתמדה: אביב-jdbc ו קפיץ-טקס.

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

4. אביב MVC עם מייבן

כדי להשתמש בתמיכה של Spring Web ו- Servlet, יש לכלול שתי תלות פום, שוב בנוסף לתלות הליבה מלמעלה:

 org.springframework spring-web $ {org.springframework.version} org.springframework spring-webmvc $ {org.springframework.version} 

ה קפיץ-רשת תלות מכילה כלי עזר ספציפיים באינטרנט נפוצים הן עבור סביבות Servlet והן עבור Portlet אביב-webmvc מאפשר תמיכה ב- MVC עבור סביבות Servlet.

מאז אביב-webmvc יש ל קפיץ-רשת כתלות, המגדירה במפורש קפיץ-רשת אינו נדרש בעת השימוש אביב-webmvc.

החל באביב 5.0, עבור התמיכה בתגובת מסגרת הרשת התגובתית, אנו יכולים להוסיף את התלות של Spring WebFlux:

 org.springframework spring-webflux $ {org.springframework.version} 

5. אבטחה באביב עם מייבן

תלות אבטחה Maven נדונים לעומק במאמר Spring Security with Maven.

6. מבחן אביב עם מייבן

את מסגרת מבחני האביב ניתן לכלול בפרויקט באמצעות התלות הבאה:

 org.springframework spring-test $ {spring.version} test 

באביב 5 נוכל לבצע גם ביצוע בדיקות במקביל.

7. שימוש באבני דרך

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

  repository.springframework.maven.milestone Spring Framework Maven Milestone Repository //repo.spring.io/milestone/ 

לאחר שמאגר זה הוגדר, הפרויקט יכול להגדיר תלות כגון:

 org.springframework-core-core 5.3.0-M1 

8. שימוש ב- Snapshots

בדומה לאבני דרך, תמונות מתארחות במאגר מותאם אישית:

  repository.springframework.maven.snapshot Spring Framework Maven Snapshot מאגר // repo.spring.io/snapshot/ 

לאחר הפעלת המאגר SNAPSHOT ב- pom.xml, ניתן להפנות לתלות הבאות:

 org.springframework spring-core 4.0.3.BUILD-SNAPSHOT 

כמו גם - עבור 5.x:

 org.springframework spring-core 5.3.0-SNAPSHOT 

9. מסקנה

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