org.springframework

1. הקדמה

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

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

2. תכונות

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

  • יישום רשת אביב MVC ומסגרת שירותי אינטרנט RESTful
  • תכנות מונחה-היבט כולל ניהול עסקאות הצהרתי של Spring
  • הזרקת תלות
  • היפוך שליטה

ועוד הרבה.

3. תלות Maven

אם אתה רוצה להוסיף את Spring לפרויקט Maven שלך, תוכל למצוא מידע נוסף עליו כאן.

4. פרויקטים של אביב

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

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

4.1. אביב רשת MVC

מסגרת Web MVC מספקת אדריכלות Model-View-Controller, שתוכננה סביב DispatcherServlet המטפל בכל בקשות התגובות והתגובות והופך את היישום לרזולוציות.

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

כאן תוכלו למצוא את המדריך המלא.

4.2. אביב פלטפורמת IO

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

פלטפורמת ה- IO מוסמכת לעבוד עם Java 7 ו- 8.

התבונן בפרויקט GitHub.

4.3. מגף אביב

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

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

הוא מורכב ממספר מודולים (אופציונליים):

  1. CLI - ממשק שורת פקודה, המבוסס על Groovy, להפעלה / עצירה של יישומים שנוצרו באביב אתחול.
  2. Boot Core - בסיס למודולים אחרים.
  3. תצורה אוטומטית - מודול לתצורה אוטומטית של מגוון רחב של פרויקטים של אביב. זה יאתר זמינות של מסגרות מסוימות (Spring Batch, Spring Data JPA, Hibernate, JDBC).
  4. מפעיל - פרויקט זה, לאחר הוספתו, יאפשר לתכונות ארגוניות מסוימות (דפי אבטחה, מדדים, שגיאות ברירת מחדל) ליישום שלך.
  5. מנות פתיחה - פרויקטים שונים של הפעלה מהירה כדי לכלול כתלות בקובץ ה- Maven או ה- Gradle שלך. יהיו לו התלות הדרושה עבור סוג זה של יישום. נכון לעכשיו, ישנם פרויקטים מתחילים לפרויקט אינטרנט (מבוסס tomcat ומזח), Spring Batch, Spring Data JPA, Integration Spring, Spring Security קיימים.
  6. כלים - כלי הבנייה של Maven ו- Gradle וכן מטעין האביב המותאם אישית של Spring (המשמש בצנצנת ההפעלה / המלחמה היחידה) כלול בפרויקט זה.

אנו יכולים למצוא את חפץ Maven כאן ולהסתכל על פרויקט GitHub.

4.4. נתוני אביב

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

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

זהו פרויקט מטריה המכיל פרויקטים רבים של תת-ספציפיים הספציפיים למסד נתונים נתון (כמו JPA, MongoDB, Redis, Apache Solr, Gemfire, Apache Cassandra). הפרויקטים מפותחים על ידי עבודה משותפת עם רבות מהחברות והמפתחים שעומדים מאחורי הטכנולוגיות המרתקות הללו.

4.5. אביב ביטחון

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

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

Spring Security משולב גם בטכנולוגיות Spring רבות אחרות, כולל Spring Web Flow, Spring Web Services ו- Pivotal tc Server.

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

4.6. אביב חברתי

Spring Social הוא הרחבה של המסגרת המאפשרת ליישומים להתחבר לספקי תוכנה כשירות כגון טוויטר, פייסבוק וממשקי API אחרים מבוססי אימות OAuth. הוא מספק מסגרת אימות OAuth מוכנה לשימוש עבור יישומים מבוססי אינטרנט.

תכונות:

  • מסגרת ספקי שירות הניתנת להרחבה המפשטת מאוד את תהליך חיבור חשבונות המשתמש המקומיים לחשבונות ספקים מתארחים.
  • בקר חיבור שמטפל בזרימת ההרשאה בין יישום האינטרנט שלך ב- Java / Spring, ספק שירות והמשתמשים שלך.
  • כריכות Java לממשקי API פופולריים של ספקי שירותים כגון Facebook, Twitter, LinkedIn, TripIt ו- GitHub.
  • בקר כניסה המאפשר למשתמשים לבצע אימות עם היישום שלך על ידי כניסה באמצעות ספק שירות.

מדריכי תחילת העבודה:

  • גישה לנתוני פייסבוק
  • אביב הגדרת טוויטר חברתית
  • כניסה לפייסבוק משנית

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

4.7. מעטפת אביב

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

המשתמשים בפרויקט המעטפת יכולים לבנות מעטפת מלאה הכוללת (aka יישום שורת פקודה) על ידי תלוי בצנצנת Spring Shell והוספת פקודות משלהם (המגיעות כשיטות על שעועית קפיץ). יצירת יישום שורת פקודה יכולה להיות שימושית לְמָשָׁל ליצור אינטראקציה עם ה- REST API של הפרויקט שלך, או לעבוד עם תוכן קבצים מקומי.

פרויקט GitHub ניתן למצוא כאן.

4.8. אביב מובייל

Spring Mobile הוא הרחבה של מסגרת ה- Spring Web MVC שמטרתה לפשט את הפיתוח של יישומי רשת סלולריים.

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

תכונות:

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

יישום לדוגמא זה יביא אתכם לעבודה במהירות.

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

4.9. אצווה אביבית

Spring Batch היא מסגרת מקיפה וקלת-משקל שמטרתה לאפשר פיתוח של יישומי אצווה חיוניים לפעילות היומיומית של מערכות ארגוניות.

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

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

מקור הנתונים עבור הקורא יכול להיות קבצים שטוחים (קובץ טקסט, קובץ XML, קובץ CSV ...), מסד נתונים יחסי (MySQL ...), MongoDB.

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

התחל לעבוד במהירות על ידי יצירת שירות אצווה ועם משאבי אצווה אחרים של אביב.

5. חבילות אביב ליבות

הנה, בואו נסתכל על חבילות הליבה של אביב.

  • org.springframework.cache - חבילה זו תומכת בחבילות משנה ובשיעורים לניהול מטמון הצהרתי, הגדרת מטמון קוד פתוח בספריית קפאין, שיעורי תמיכה במטמון קוד פתוח EhCache 2.x.

  • org.springframework.context - חבילה זו מתבססת על חבילת השעועית כדי להוסיף תמיכה למקורות הודעות ולדפוס העיצוב של Observer, ויכולת אובייקטים של יישומים להשיג משאבים באמצעות ממשק API עקבי.

  • org.springframework.core - מספק שיעורים בסיסיים לטיפול בחריגות וגילוי גרסאות ועוזרי ליבה אחרים שאינם ספציפיים לאף חלק במסגרת.

  • org.springframework.expression - חבילה זו מספקת הפשטות ליבה מאחורי ה- שפת ביטוי אביבית.

  • org.springframework.http - חבילה זו מכילה הפשטה בסיסית באמצעות HTTP בצד הלקוח / השרת.

  • org.springframework.jdbc - המחלקות בחבילה זו מקלות על השימוש ב- JDBC ומפחיתות את הסבירות לשגיאות נפוצות.
  • org.springframework.jms - חבילה זו מכילה שיעורי שילוב עבור JMS, המאפשרת גישה ל- JMS בסגנון אביב.

  • org.springframework.jndi - הכיתות בחבילה זו מקלות על השימוש ב- JNDI, ומאפשרות גישה לתצורה המאוחסנת ב- JNDI, ומספקות מחלקות-על שימושיות לשיעורי גישה JNDI.

  • org.springframework.orm.hibernate5 - חבילה המספקת אינטגרציה של Hibernate 5.x עם מושגי Spring.

  • org.springframework.test.util - שיעורי שירות כלליים לשימוש במבחני יחידות ואינטגרציה.

רשימה זו מוגבלת ומתארת ​​רק חבילות ליבה למסגרת האביב. תוכלו למצוא את הרישום המלא כאן.

6. מסקנה

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

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


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