هناك ميزتان مهمتان لـ Spring-Boot-starter-Web:
- وهو متوافق لتطوير الويب
- التكوين التلقائي
إذا أردنا تطوير تطبيق ويب، نحتاج إلى إضافة التبعية التالية في ملف pom.xml:
org.springframework.boot spring-boot-starter-web 2.2.2.RELEASE
يستخدم Starter of Spring web Spring MVC وREST وTomcat كخادم مضمن افتراضي. تسحب تبعية الويب الربيعية الفردية بشكل عابر جميع التبعيات المتعلقة بتطوير الويب. كما أنه يقلل من عدد تبعيات البناء. تعتمد شبكة Spring-boot-starter-web بشكل عابر على ما يلي:
- org.springframework.boot:spring-boot-starter
- org.springframework.boot:spring-boot-starter-tomcat
- org.springframework.boot:spring-boot-starter-validation
- com.fasterxml.jackson.core:jackson-databind
- org.springframework:spring-web
- org.springframework:spring-webmvc
افتراضيًا، يحتوي Spring-boot-starter-web على تبعية خادم Tomcat التالية:
org.springframework.boot spring-boot-starter-tomcat 2.0.0.RELEASE compile
يقوم Spring-boot-starter-web تلقائيًا بتكوين الأشياء التالية المطلوبة لتطوير الويب:
جافا لامدا
- المرسل Servlet
- صفحة الخطأ
- Web JARs لإدارة التبعيات الثابتة
- حاوية servlet مدمجة
خادم الويب المضمن لـ Spring Boot
يتضمن كل تطبيق Spring Boot خادمًا مضمنًا. يتم تضمين الخادم المضمن كجزء من التطبيق القابل للنشر. تتمثل ميزة الخادم المضمن في أننا لا نحتاج إلى خادم مثبت مسبقًا في البيئة. مع Spring Boot، يكون الخادم المضمن الافتراضي هو هر . يدعم Spring Boot أيضًا خادمين مضمنين آخرين:
استخدام خادم ويب مضمن آخر
ل مكدس servlet التطبيقات، Spring-Boot-Starter-Web يشمل هر عن طريق شمل Spring-Boot-Starter-Tomcat ، ولكن يمكننا استخدامها الربيع التمهيد بداية رصيف المراكب الصغيرة أو Spring-Boot-Starter-Undertow بدلاً من.
ل مكدس رد الفعل التطبيقات، Spring-Boot-Starter-webflux يشمل مفاعل نيتي عن طريق شمل Spring-Boot-Starter-Reactor-netty ، ولكن يمكننا استخدامها Spring-Boot-Starter-Tomcat، Spring-Boot-Starter-Jetty، أو Spring-Boot-Starter-Undertow بدلاً من.
خادم جيتي
يدعم Spring Boot أيضًا خادمًا مضمنًا يسمى خادم جيتي . إنه خادم HTTP وحاوية Servlet لديه القدرة على تقديم محتوى ثابت وديناميكي. يتم استخدامه عندما يكون الاتصال من آلة إلى آلة مطلوبًا.
إذا أردنا إضافة خادم Jetty في التطبيق، فنحن بحاجة إلى إضافة ملف الربيع التمهيد بداية رصيف المراكب الصغيرة التبعية في ملف pom.xml الخاص بنا.
يتذكر: أثناء استخدام خادم Jetty في التطبيق، تأكد من أن خادم Tomcat الافتراضي هو مستبعد من Spring-Boot-Starter-Web. إنه يتجنب الصراع بين الخوادم.
الاتصالات المحجوبة
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-jetty
يمكننا أيضًا تخصيص سلوك خادم Jetty باستخدام application.properties ملف.
خادم تحت الأرض
يوفر Spring Boot خادمًا آخر يسمى تحت . وهو أيضًا خادم ويب مضمن مثل Jetty. هو مكتوب بلغة Java ويتم إدارته ورعايته بواسطة JBoss. المزايا الرئيسية لخادم Undertow هي:
- يدعم HTTP/2
- دعم ترقية HTTP
- دعم ويبسوكيت
- يوفر الدعم لـ Servlet 4.0
- مرن
- قابل للتضمين
يتذكر: أثناء استخدام خادم Undertow في التطبيق، تأكد من أن خادم Tomcat الافتراضي هو مستبعد من Spring-Boot-Starter-Web. إنه يتجنب الصراع بين الخوادم.
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-undertow
يمكننا أيضًا تخصيص سلوك خادم Undertow باستخدام application.properties ملف.
لينكس $المنزل
Spring-boot-starter-web مقابل Spring-boot-starter-tomcat
تحتوي شبكة Spring-boot-starter-web على تبعيات الويب الربيعية التي تتضمن Spring-boot-starter-tomcat. تحتوي شبكة Spring-boot-starter-web على ما يلي:
- بداية التمهيد الربيع
- جاكسون
- قلب الربيع
- الربيع-mvc
- Spring-Boot-Starter-Tomcat
بينما ال Spring-Boot-Starter-Tomcat يحتوي على كل ما يتعلق بخادم Tomcat.
- جوهر
- هو
- تسجيل
- websocket
يحتوي Starter-Tomcat على التبعيات التالية:
org.apache.tomcat.embed tomcat-embed-core 8.5.23 compile org.apache.tomcat.embed tomcat-embed-el 8.5.23 compile org.apache.tomcat.embed tomcat-embed-websocket 8.5.23 compile
يمكننا أيضا أن نستخدم الربيع-mvc دون استخدام خادم Tomcat المضمن. إذا أردنا القيام بذلك، فنحن بحاجة إلى استبعاد خادم Tomcat باستخدام ملف العلامة كما هو موضح في الكود التالي
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat
تحميل مشروع تحميل مشروع