אתחול יישום אינטרנט עם אביב 5

REST למעלה

רק הכרזתי על החדש למד אביב קורס, המתמקד ביסודות האביב 5 ומגף האביב 2:

>> בדוק את הקורס

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

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

נבדוק את פתרון Spring Boot לאתחול היישום ונראה גם גישה שאינה Spring Spring.

נשתמש בעיקר בתצורת Java, אך נסתכל גם על תצורת ה- XML ​​המקבילה שלהם.

2. Bootstrapping באמצעות Boot Boot

2.1. תלות של Maven

ראשית, נצטרך תלות האביב-אתחול-המתנע-אינטרנט:

 org.springframework.boot spring-boot-starter-web 2.1.1.RELEASE 

מתנע זה כולל:

  • קפיץ-רשת וה אביב-webmvc מודול שאנו זקוקים ליישום האינטרנט שלנו באביב
  • מתנע של Tomcat כדי שנוכל להריץ את יישום האינטרנט שלנו ישירות מבלי להתקין שום שרת במפורש

2.2. יצירת יישום אתחול האביב

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

@SpringBootApplication מחלקה ציבורית SpringBootRestApplication {public static void main (String [] args) {SpringApplication.run (SpringBootRestApplication.class, args); }}

ביאור יחיד זה שקול לשימוש @תְצוּרָה, @EnableAutoConfiguration, ו @ComponentScan.

כברירת מחדל, היא תסרוק את כל הרכיבים באותה חבילה ומטה.

לאחר מכן, עבור תצורה מבוססת Java של שעועית אביב, עלינו ליצור מחלקת תצורה ולהערות עליה @תְצוּרָה ביאור:

@Configuration בכיתה ציבורית WebConfig {}

ביאור זה הוא החפץ העיקרי המשמש את תצורת האביב מבוססת Java; זה עצמו מטא-ביאור עם @רְכִיב, מה שהופך את הכיתות המבוארות לשעועית רגילה וככזו, גם למועמדים לסריקת רכיבים.

המטרה העיקרית של @תְצוּרָה שיעורים אמורים להיות מקורות להגדרות שעועית עבור מיכל ה- IoC של האביב. לתיאור מפורט יותר, עיין במסמכים הרשמיים.

בואו נסתכל גם על פיתרון באמצעות הליבה אביב-webmvc סִפְרִיָה.

3. Bootstrapping באמצעות קפיץ-webmvc

3.1. תלות Maven

ראשית, אנו זקוקים לתלות האביב-webmvc:

 org.springframework spring-webmvc 5.0.0.RELEASE 

3.2. תצורת האינטרנט מבוססת Java

לאחר מכן נוסיף את מחלקת התצורה הכוללת את @תְצוּרָה ביאור:

@Configuration @EnableWebMvc @ComponentScan (basePackages = "com.baeldung.controller") WebConfig בכיתה ציבורית {}

כאן, בניגוד לפתרון Spring Boot, נצטרך להגדיר במפורש @EnableWebMvc להגדרת תצורות ברירת מחדל של Spring MVC ו- @ComponentScan כדי לציין חבילות לסריקת רכיבים.

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

@ComponentScan מגדיר את הוראת סריקת הרכיבים, ומציין את החבילות לסריקה.

3.3. כיתת האתחול

הבא, אנחנו צריכים להוסיף מחלקה שמיישמת את WebApplicationInitializer מִמְשָׁק:

מחלקה ציבורית AppInitializer מיישמת את WebApplicationInitializer {@Override public void onStartup (ServletContext container) זורק ServletException {AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext (); context.scan ("com.baeldung"); container.addListener (ContextLoaderListener חדש (הקשר)); ServletRegistration.Dynamic dispatcher = container.addServlet ("mvc", DispatcherServlet חדש (הקשר)); dispatcher.setLoadOnStartup (1); dispatcher.addMapping ("/"); }}

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

לבסוף, אנו מגדירים את נקודת הכניסה ליישום האינטרנט - ה- DispatcherServlet.

מעמד זה יכול להחליף לחלוטין את web.xml קובץ מ- 3.0 גרסאות Servlet.

4. תצורת XML

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

אנו יכולים להחליף את קובץ ה- XML ​​הזה ב- WebConfig כיתה לעיל.

כדי להפעיל את היישום, אנו יכולים להשתמש בכיתת Initialisator הטוענת את תצורת ה- XML ​​או בקובץ web.xml. לפרטים נוספים על שתי הגישות הללו, עיין במאמר הקודם שלנו.

5. מסקנה

במאמר זה, בדקנו שני פתרונות פופולריים לאתחול יישום אינטרנט של Spring, האחד באמצעות Starter Web Spring Start והשני באמצעות ספריית הליבה של spring-webmvc.

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

כמו תמיד, הקוד המוצג במאמר זה זמין באתר Github. זהו פרויקט מבוסס Maven, כך שיהיה קל לייבא ולהפעיל אותו כפי שהוא.

REST תחתון

רק הכרזתי על החדש למד אביב קורס, המתמקד ביסודות האביב 5 ומגף האביב 2:

>> בדוק את הקורס

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