English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يقدم إطار Spring Boot خادمًا مدمجًا افتراضيًا (Tomcat) ل تشغيل تطبيقات Spring Boot. يعمل على منفذ 8080 يعمل. يمكن تغيير المنفذ في Spring Boot.
يمكننا تغيير المنفذ في Spring Boot. من خلال استخدام هذه الواجهات وملفات الخصائص:
استخدام ملف application.properties ملف استخدام ملف application.yml ملف استخدام EmbeddedServletContainerCustomizer واجهة استخدام WebServerFactoryCustomizer واجهة استخدامإعدادات سطر الأوامر
إذا كنت ترغب في تغيير المنفذ الافتراضي، نوصي باستخدام ملف application.properties. لأن هذا هو الطريقة السهلة والسريعة لتعديل القيم الافتراضية. نستخدم server.port مزاحمة الخاصية الافتراضية.
على سبيل المثال، إذا كنت ترغب في تغيير المنفذ الافتراضي 8080 إلى 8082، فحدد هذه الخاصية في ملف application.properties.
ملف application.properties
server.port=8082
يمكننا أيضًا تعيين خاصية port إلى 0. سيقوم بفحص منفذ عشوائي للتطبيق. كل مرة نقوم بإنشاء تطبيق جديد، سيستخدم منفذ جديد.
ملف application.properties
server.port=0
مثلًا، يمكننا أيضًا استخدام yml لتحديد المنفذ الافتراضي. استخدم ملف application.properties أو ملف application.yml الملفات، يعملان بنفس الطريقة.
ملف application.yml
خادم: منفذ:8082
إذا كنت تستخدم Spring Boot 1.x الإصدار، سيقدم واجهة EmbeddedServletContainerCustomizer تغيير البوابة الافتراضية.
واجهة EmbeddedServletContainerCustomizer
باستخدام EmbeddedServletContainerCustomizer، يمكننا تخصيص servlet المحمول المتمثل في التكوين التلقائي. قبل بدء تشغيل المستودع نفسه، يتم الحصول على إعادة التشغيل من قبل جميع أنواع Bean من مصنع المستودع. لذلك، يمكننا إعداد الميناء، العنوانو صفحات الأخطاء المتساوية. إنه في org.springframework.boot.context.embedded محددة في الملف.
الواجهة تحتوي على customize()الطريقة. يسمح لنا بتخصيص وتحديد ConfigurableEmbeddedServletContainer . إنه يفسر المستودعالمواضيع.
void customize(ConfigurableEmbeddedServletContainer container)
واجهة ConfigurableEmbeddedServletContainer
هذا هو التعبير EmbeddedServletContainerFactory واجهة (لإنشاء واجهة المصنع EmbeddedServletContainers) التي تم تغييرها في الواجهة. . إنه في org.springframework.boot.context.embedded محددة في الملف. إنها تحتوي على طريقة用于 تغيير البوابة، وهي طريقة setPort().
طريقة setPort()
طريقة setPort() تكوين servlet المحمول الذي يجب عليه الاستماع إلى البوابة. إذا لم يتم تحديد البوابة، فإنه سيستخدم البوابة الافتراضية 8080 النقطة. إذا كنت ترغب في تعطيل وظيفة بدء الخادم المدمج تلقائيًا، استخدم ميناء -1 النقطة. ميناء -1 يعني أنه لن يستمع إلى أي ميناء، بل سيقوم بتشغيل سياق تطبيق الويب. هذه الطريقة تشرح ميناء من نوع int (الميناء الذي يتم ضبطه) por t).
void setPort(int port)
في المثال التالي، قمنا بإنشاء اسم ServerCustomizer الكلاس، وقد أتممنا تنفيذ واجهة EmbeddedServletContainerCustomizer. نحن نعيد كتابة طريقة customize()، ونستدعي إعداد البوابة 8097 الطريقة setPort().
ServerCustomizer.java
@Component public class ServerCustomizer implements EmbeddedServletContainerCustomizer { @Override public void customize(ConfigurableEmbeddedServletContainer container) { container.setPort(8097); } }
Spring Boot 2.x النسخة توفر WebServerFactoryCustomizer واجهة لتحويل ميناء افتراضي. يتم تعريفه في org.springframework.boot.web.server مدعوم من T 。
public interface WebServerFactoryCustomizer<T extends WebServerFactory<
الواجهة تحتوي على customize()الطريقة. تتيح لنا هذه الطريقة تعديل مصنع الخادم الويب. تشرح لنا الطريقة factory الإعدادات. قبل بدء المحطة نفسها، يتم استدعاء جميع هذه الأنواع من Beans من خلال مصنع الخادم. لذلك، يمكننا تعيين الميناء، العنوانو صفحة الخطأ。
void customize(T factory)
واجهة WebServerFactory
هذا هو واجهة العلامة التجارية للواضع. يتم تعريفه في org.springframework.boot.web.server المجموعة. إنشاء WebServer 。
ConfigurableWebServerFactory
هذا هو واجهة تكوين مصنع الخادم الويب. يتم تعريفه في org.springframework.boot.web.server مدعوم من WebServerFactory و ErrorPageRegistory النقطة. تحتوي هذه الطريقة على طريقة لتغيير الميناء، تُدعى setPort()الطريقة.
setPort()
يتم تكوين طريقة setPort() للاستماع إلى ميناء خادم servlet المدمج. عندما لا نحدد ميناء، يستخدم ميناء افتراضي 8080 النقطة. إذا كنت ترغب في تعطيل وظيفة بدء الخادم المدمج تلقائيًا، استخدم ميناء -1 النقطة. ميناء -1 يعني أنه لن يستمع إلى أي ميناء، بل سيقوم بتشغيل سياق تطبيق الويب. هذه الطريقة تشرح ميناء من نوع int (الميناء الذي يتم ضبطه) port )。
void setPort(int port)
في المثال التالي، قمنا بإنشاء اسم ServerCustomizer الصفحة، والتي تتحقق من واجهة WebServerFactoryCustomizer. نحن قد قمنا بتعديل طريقة customize()، ونحن نستدعي طريقة setPort() لضبط الميناء 9001 。
ServerCustomizer.java
@Component public class ServerCustomizer implements WebServerFactoryCustomizer< ConfigurableWebServerFactory < { @Override public void customize(ConfigurableWebServerFactory factory) { factory.setPort(9001); } }
يمكننا أيضًا تغيير المرفق في Spring Boot باستخدام معلمات سطر الأوامر. يجب علينا اتباع الخطوات التالية:
فتح أي تطبيق Spring Boot. انقرتشغيلالقائمة، ثم اخترتكوين التشغيل، أو انقر بزر الماوس الأيمن على ملف التطبيق -
<طريقة تشغيل-<
تكوين التشغيل. ستظهر نافذة "تكوين التشغيل" على الشاشة.
نافذة تكوين التشغيلتظهر على الشاشة.
اختر ملف التطبيق الذي تريد تغيير مرفقه فيه. في مثالنا، نريد تغيير SpringBootHelloWorldExampleApplication على المرفق، لذا اخترناه. انقرمعلماتالعلامة
في معلمات الوسائطفي حقلكتابة -Dserver.port = 9001 . يمكنك تحديد مرفق الخاص بك بدلاً من 9001.
الآن، انقر بشكل منفردتطبيقوتشغيلزر
بعد النقر على زر "تشغيل"، يبدأ التطبيق في التشغيل. يمكننا رؤية الشاشة، لمعرفة على أي مرفق يعمل الخادم، كما هو موضح أدناه.
افتح المتصفح وقم بتشغيل URL http://localhost: 9001. إنه يعمل على هذا المرفق 9001 تشغيل التطبيق في هذا الموقع.