מהי מסגרת האביב? - דרך לפיתוח יעיל



בלוג זה בנושא מה זה Spring Framework מדבר על מסגרת ה- Java Framework הנפוצה - Spring. זה גם אומר מדוע ואיך להשתמש באביב מסגרת עם דוגמאות.

בעולם המהיר של ימינו, אנו צריכים שהכל יהיה מהיר. אנחנו לא רוצים להעסיק את עצמנו בעבודה אחת יותר מדי זמן, לתת לזה להיות משהו כמו נסיעה, קניות, לימודים או עבודה. כשמדובר בקידוד, אנו רוצים שהיישומים שלנו יפותחו בפרק הזמן הקצר ביותר אך יספקו יעילות מלאה. אנו אולי ממהרים, אך עדיין איננו יכולים להתפשר על האיכות שלנו ולא נרצה להשקיע בכך יותר מדי מאמץ. אז מה הפיתרון? מסגרות עובדות בצורה הטובה ביותר במצב זה. ישנן מסגרות שונות הקיימות בשוק, וביניהן מעטים משמשים כמו: Spring, Hibernate, Struts וכו '. באמצעות בלוג זה בואו לגלות מהי Spring Framework ומדוע היא כה פופולרית בשוק!

לפני התחלה, בואו נסתכל על הנושאים עליהם אדון בבלוג זה:





מסגרות ג'אווה

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

קודאי בבעיה - מהי מסגרת האביב - אדוריקה!



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

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



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

הוא מקודד באמצעות המסגרת. באופן מפתיע, הקוד התאים בקלות למסגרת.

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

לאחר פריסת היישום שפותח באמצעות Framework, הוא גילה שהוא מבוצע במהירות גבוהה בהרבה ותפוקתו גדלה גם בהשוואה ליישומים אחרים שפותחו ללא שימוש ב- Framework.

אז בואו נתחיל עכשיו עם מסגרות ג'אווה.

איך נכנסו מסגרות ג'אווה לקיום?

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

  • מאודמורכב : Enterprise Java Bean פותחה להפחתת המורכבות ביישומי J2EE. אבל זה לא הצליח במטרתו ליישם. הסיבה מאחוריה היא שבעוד כתיבת רכיב נדרש לכתוב סט של קבצי XML, ממשקי בית, ממשקים מרוחקים / מקומיים וכו '.
  • בעיית 'מבט': בכל פעם שרכיב היה תלוי ברכיב אחר, הוא היה צריך לחפש את הרכיבים שהוא תלוי בו מעצמו. רכיב 'מבט' זה קורה רק בשם, ולכן שם התלות היה מקודד ברכיב ברכיב.
  • משקל כבד: ככל התכונות כמו אשכולות, מרחוק וכו 'נתמכו, עליך להגדיר אותן, ללא קשר לעובדה שאתה זקוק להן או לא. זה יהפוך את היישומים שלך למנופחים.

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

בואו נבין את זה באמצעות ייצוג ציורי:

תפקידים ואחריות של מנהל לינוקס

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

יְעִילוּת:

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

בִּטָחוֹן:

מסגרת בשימוש נרחב תהיה בדרך כלל גדולהבִּטָחוֹןיישומים. היתרון הגדול הואשְׁכוּנָהמאחורי המסגרת הזו, שבה משתמשים בדרך כלל בודקים לאורך זמן. אם אתה מוצא פגיעות או חור אבטחה, תוכל להיכנס לאתר האינטרנט של המסגרת ולהודיע ​​להם על מנת שניתן יהיה לתקן אותה.

הוֹצָאָה:

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

תמיכה:

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

למרות שיש את כל היתרונות הללו יש למסגרות Java כמה כאלה חסרונות , כמו:


מגבלות:

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

הקוד הוא ציבורי:

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

המותאם אישית תכונות:

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

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

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

מהי מסגרת האביב?

יצוק כפול ל- int java

כאן נשאלת השאלה 'מהי מסגרת האביב'?

Spring Framework היא מסגרת עוצמתית לפיתוח אפליקציות קלת משקל המשמשת ל- Enterprise Java (JEE).

ניתן להשתמש בתכונות הליבה של Spring Framework בפיתוח כל יישום Java.ניתן לתאר זאת כמסגרת שלמה ומודולרית. מסגרת האביב יכולה לשמש לכל יישומי השכבה של יישום בזמן אמת. זה יכול לשמש גם לפיתוח שכבה מסוימת של יישום בזמן אמת בניגוד Struts ו- Hibernate, אבל עם Spring אנחנו יכולים לפתח את כל השכבות.

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

באוקטובר 2002, רוד ג'ונסון מומחה למחשבים אוסטרלי כתב ספר שכותרתו מומחה אחד על אחד J2EE עיצוב ופיתוח. בספר זה הוא הציע פתרון פשוט יותר המבוסס על שיעורי Java רגילים (POJO) והזרקת תלות. הוא כתב למעלה מ- 30,000 שורות קוד תשתית שכלל מספר ממשקי Java ושיעורים לשימוש חוזר לפיתוח היישום. בסביבות פברואר 2003 החלו רוד, יורגן ויאן לשתף פעולה בפרויקט האביב. השם 'אביב' ניתן כיוון שמשמעותו התחלה חדשה לאחר 'חורף' של J2EE המסורתי.

להלן ציר הזמן המוצג על מהדורות מרכזיות בתולדות האביב:

זה נקרא ממשק 21, כהפניה למאה ה -21 ושוחרר ברישיון Apache 2.0.
זו הייתה מהדורת הדרך הראשונה. מסגרת האביב התפתחה במהירות מאז שחרור זה. ממשק 21 תמך ב- AspectJ במקביל למסגרת האביב.
נוספו תכונות חדשות - תצורות XML הניתנות להרחבה, תמיכה בשפות Java 5 ושפות דינמיות, נקודות הרחבה של IoC ושיפורי AOP.
נוספו תכונות חדשות - תמיכה ב- Java 6 / JEE5, תצורות ביאורים, זיהוי אוטומטי של רכיבים בשבילים וחבילות תואמות OSGi.
נוספו תכונות חדשות - תמיכה במערכת מודולים מחודשת, SpEL, JavaConfig, מסדי נתונים משובצים, תמיכה ב- REST ותמיכה ב- Java EE 6.
פרויקט Spring Data Commons פורסם. מאוחר יותר בשנת 2012, רוד ג'ונסון עזב את קבוצת האביב.
כל פרויקטי האביב עברו ל- Pivotal. נוספו תכונות חדשות - תמיכה מלאה ב- Java 8, שקעי רשת, תלות גבוהה יותר בספריה של צד שלישי, DSL גרובי להגדרות שעועית.
זה היה תואם ל- Java 6, 7 ו- 8, עם דגש על חידודים מרכזיים ויכולות אינטרנט מודרניות.
זה יהיה הדור הסופיבמסגרת דרישות המערכת הכלליות של אביב 4. 4.3.8 היא הגרסה הנוכחית.

למה מסגרת אביב?

להלן תרשים שניתן לראות את ההשוואה בין אביב למסגרות שונות אחרות.

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

סיבות למסגרת האביבהפופולריות של העבודות

בדרך כלל יש שלוש סיבות עיקריות לפופולריות של Spring Framework.

  1. פַּשְׁטוּת
  2. יכולת בדיקה
  3. צימוד רופף

בואו נדון בנושאים אלה בפרטים.

פַּשְׁטוּת: מסגרת האביב פשוטה כיוון שהיא אינה פולשנית שכן היא משתמשת במודלים של POJO ו- POJI.

  • POJO (חפצי Java ישנים רגילים): אמחלקת Java שאינה משולבת עם שום טכנולוגיה או מסגרת כלשהי נקראת ' POJO ' .
  • POJI (ממשקי Java ישנים רגילים): נקרא ממשק ג'אווה שאינו יחד עם שום טכנולוגיה או עבודת מסגרת כלשהי ' POJI ' .

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

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

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

ממשק ציבורי אופניים {התחלה בטלנית ציבורית ()}

כאן Class Rider יוצר אובייקט מכל מחלקה אשר מיישם את ממשק Bike.

class Rider {Bike b public void setBike (Bike b) {this.b = b} נסיעה בטלה () {b.start ()}}

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

אדריכלות מסגרת האביב

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

  • מיכל הליבה
  • גישה / שילוב נתונים
  • אינטרנט
  • AOP (תכנות מונחה-היבט)
  • מִכשׁוּר
  • מִבְחָן.

ייתכן שאתה תוהה, מה היתרון של Spring Framework בכך שיש אדריכלות שכבתית? בואו נגלה דרך הנקודות הבאות:

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

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

שלב I: יצירת הכיתה שעועית

חבילה org.edureka.firstSpring מחלקה ציבורית StudentBean {String name public String getName () {return name} public void setName (שם מחרוזת) {this.name = name} public void displayInfo () {System.out.println ('שלום: '+ שם)}}

שלב II: צור קובץ XML

 

שלב III: צור את המחלקה הראשית

מהו מרחב שמות ב- c ++
חבילה org.edureka.firstSpring יבוא org.springframework.context.ApplicationContext ייבוא ​​org.springframework.context.support.ClassPathXmlApplicationContext מחלקה ציבורית StudentDemo {public static void main (String [] args) {ApplicationContext appCon = new ClassPathXmlApplicationContext ) מפעל StudentBean = (StudentBean) appCon.getBean ('studentbean') factory.displayInfo ()}}

שלב IV: טען את קבצי הצנצנת

טען את קבצי הצנצנת הבאים.

  • commons-logging-1.2.jar
  • javax.servlet-api-3.1.0.jar
  • jstl-1.2.jar
  • spring-aop-4.2.2.RELEASE.jar
  • אביב-שעועית-4.2.2.RELEASE.jar
  • spring-context-4.2.2.RELEASE.jar
  • spring-core-4.2.2.RELEASE.jar
  • spring-expression-4.2.2.RELEASE.jar
  • spring-web-4.2.2.RELEASE.jar
  • spring-webmvc-4.2.2.RELEASE.jar

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

שלב V: הפעל את התוכנית

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

מקווה שהצלחתי להסביר בצורה ברורה, מהי Spring Framework, איך היא בדיוק עובדת ולמה היא משמשת. אתה מתייחס גם לסרטון 'What Is Spring Framework', שם המדריך מתאר את הנושאים הנדונים בבלוג זה יחד עם הדגמה מעשית.

מהי מסגרת האביב בג'אווה | מדריך מסגרת האביב | אדוריקה

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

אם אתה רוצה ללמוד אביב וברצונך להשתמש בו בעת פיתוח יישומי Java, בדוק את מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפזורים ברחבי העולם.

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות ונחזור אליך.