java - التمهيد الربيع-كيفية تكوين الميناء




spring tomcat (20)

  1. كما قال الجميع ، يمكنك تحديد في application.properties
    server.port = 9000 (يمكن أن يكون أي قيمة أخرى)

  2. إذا كنت تستخدم مشغل الربيع في مشروعك ، فإنه يشير افتراضيًا إلى
    8080 ، وإذا كنت ترغب في تغييرها ، في حين ذكر في application.properties
    management.port = 9001 (يمكن أن يكون أي قيمة أخرى)

البحث عن كيفية تهيئة المنفذ في تطبيق Boot Spring:

@Controller
@EnableAutoConfiguration
public class SampleController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleController.class, args);
    }
}

هذا هو كل مصادر :)


1.1 تحديث عن طريق ملف خصائص.

/src/main/resources/application.properties

server.port = 8888

تحديث عبر ملف yaml.

   server:

     port: 8888

EmbeddedServletContainerCustomizer

@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {

        container.setPort(8888);

    }

}

أيضا ، يمكنك تكوين منفذ برمجيا

@Configuration
public class ServletConfig {
    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {
        return (container -> {
            container.setPort(8012);
        });
    }
}

إذا كنت ترغب في القيام بذلك على تشغيله محليا من استخدام هذا -

mvn spring-boot:run -Drun.jvmArguments='-Dserver.port=8085'


استخدام الخاصية server.port = 8080 على سبيل المثال كما هو مذكور في إجابات أخرى هو بالتأكيد وسيلة للذهاب. أردت فقط أن أذكر أنه يمكنك أيضًا كشف خاصية بيئة:

SERVER_PORT = 8080

منذ التمهيد الربيع قادر على استبدال "." لـ "_" و lower إلى UPPER لحالة متغيرات البيئة في الإصدارات الحديثة. هذا مفيد بشكل خاص في حاويات حيث كل ما عليك فعله هو تحديد متغير البيئة بدون إضافة / تحرير تطبيق. خصائص أو تمرير خصائص النظام من خلال سطر الأوامر (على سبيل المثال -Dserver.port = $ PORT)


المنفذ الافتراضي هو: 8080 ولكن يمكننا تخصيص رقم المنفذ في application.properties كما هو موضح أدناه

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
server.port = 5050 -- #here we can give any port number.

تضمين أدناه الخاصية في application.properties

server.port = 8080


عند بدء تشغيل تطبيق التمهيد الربيع ، يبدأ الخادم المضمن مثل Tomcat بمنفذ افتراضي. يبدأ tomcat المضمّن بمنفذ 8080 افتراضيًا. هناك العديد من الطرق لتغيير منفذ الخادم الافتراضي.

استخدام ملف الخصائص (.properties / .yml)

لتغيير منفذ الخادم باستخدام ملف الخاصية ، نحتاج إلى تكوين خاصية server.port .

ا. استخدام application.properties في classpath مثل src \ main \ resources \ application.properties

server.port = 8585

سيبدأ الخادم مع منفذ 8585. للحصول على منفذ خادم عشوائي ، قم بتعيين 0 إلى الخاصية.

server.port = 0

الآن سوف يبدأ التمهيد الربيع الخادم على منفذ لا يتم استخدامه حاليا من قبل أي خادم في النظام.

ب. باستخدام application.yml في classpath مثل src \ main \ resources \ application.yml.

server:
  port: 8585 

سوف يبدأ الخادم مع منفذ 8585.

لمنفذ عشوائي ، قم بتعيين 0.

server:
  port: 0 

باستخدام الأمر java مع - server.port أو -Dserver.port

لنفترض أن لدينا JAR قابل للتنفيذ يدعى my-app.jar ، ثم عند بدء تطبيق التمهيد الربيع باستخدام الأمر java ، يمكننا استخدام الحجة على النحو التالي.

باستخدام - server.port

java -jar my-app.jar  --server.port=8585

باستخدام -Dserver.port

java -jar -Dserver.port=8585 my-app.jar

سوف يبدأ الخادم مع منفذ 8585.

باستخدام الأمر java مع --port أو -Dport باختصار

لجعل -server.port و -Dserver.port باختصار ، يمكننا إزالة كلمة مرور الخادم وجعلها أي كلمة رئيسية قصيرة مثل --port و -Dport. يمكننا استخدام أي كلمة رئيسية قصيرة. هنا نحن نستخدم المنفذ ككلمة قصيرة. لتحقيق ذلك ، نحتاج إلى تكوين عنصر نائب في ملف الخاصية كما يلي.

باستخدام application.properties

server.port=${port:8282}

باستخدام application.yml

server:
   port: ${port:8282}

إذا لم نقم بتمرير المنفذ كوسيطة ، فسيبدأ الخادم الافتراضي بـ 8282. إذا أردنا منفذًا مختلفًا ، فسنحتاج إلى تمرير المنفذ المطلوب في وسيطة كما يلي. لنفترض أن لدينا JAR قابل للتنفيذ يدعى My-app.jar.

باستخدام - بورت

java -jar my-app.jar --port=8585 

باستخدام -Dport

java -jar -Dport=8585 my-app.jar 

سوف يبدأ الخادم مع منفذ 8585.

باستخدام SERVER_PORT مع SpringApplication Programmatically

يحتوي تطبيق SpringApplication على طريقة setDefaultProperties () التي يتم استخدامها لتغيير خصائص التمهيد الافتراضية. لنفترض أننا نريد تغيير المنفذ الافتراضي ، فسنحتاج إلى إنشاء خريطة ووضع منفذ باستخدام مفتاح SERVER_PORT. ابحث عن المثال.

MyApplication.java

package com.humoyun;

import java.util.HashMap;
import java.util.Map;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication application = new SpringApplication(MyApplication.class);
        Map<String, Object> map = new HashMap<>();
        map.put("SERVER_PORT", "8585");
        application.setDefaultProperties(map);
        application.run(args);
        }     
} 

سوف التمهيد الربيع بدء تشغيل الخادم مع منفذ 8585.


فقط لديك application.properties في src/main/resources المشروع وإعطاء هناك

server.port=****

حيث يشير **** إلى رقم المنفذ.


في الغالب تعمل springboot على port:8080 بسبب وجود Tomcat المضمّن. في بعض أنها قد رمي port 8080 already in use الخطأ port 8080 already in use . لتجنب هذا النوع من المشكلات ، يمكننا تهيئة منفذ الخادم.

باستخدام application.properties

add server.port=9898

في وقت التشغيل التكوين

تشغيل التطبيق الخاص بك مع الحجج أدناه.

spring-boot:run -Drun.jvmArguments='-Dserver.port=8081'


في حالة استخدام application.yml أضف الأسطر التالية إليه

server:
     port: 9000

وبالطبع 0 لمنفذ عشوائي.


في ملف application.properties الموجود في الموارد:

server.port=8082

كما هو موضح في وثائق Spring ، هناك عدة طرق للقيام بذلك:

إما أن تقوم بتعيين المنفذ في سطر الأوامر (على سبيل المثال 8888)

-Dserver.port=8888 أو --server.port=8888

مثال: java -jar -Dserver.port=8888 test.jar

أو قمت بتعيين المنفذ في التطبيق.خدمات

server.port=${port:4588}

أو (في application.yml مع بناء الجملة yaml)

server:
   port: ${port:4588}

إذا تم تعيين المنفذ الذي تم تمريره بواسطة -Dport (أو -Dserver.port) في سطر الأوامر ، فسيتم أخذ هذا المنفذ بعين الاعتبار. إذا لم يكن الأمر كذلك ، فسيكون المنفذ هو 4588 افتراضيًا.

إذا كنت تريد فرض المنفذ في ملف الخصائص مهما كان متغير البيئة ، فيجب عليك فقط الكتابة:

server.port=8888

لتوسيع الإجابات الأخرى:

يوجد قسم في المستندات للاختبار يشرح كيفية تكوين المنفذ في اختبارات الدمج:

في اختبارات التكامل ، يتم تكوين المنفذ باستخدام التعليق التوضيحي webEnvironment وقيم webEnvironment .

منفذ عشوائي:

@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)

يمكنك ضخ القيمة باستخدام @LocalServerPort وهو نفس @Value("${local.server.port}") .

  • مثال:

تكوين اختبار المنفذ العشوائي:

@RunWith(SpringRunner.class
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class ExampleTest {
   ...
   @LocalServerPort //to inject port value
   int port;
}

المنفذ المحدد:

@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT)

يأخذ القيمة من server.port إذا تم تعريفه.

  • إذا تم تعريفه باستخدام @TestPropertySource(properties = "server.port=9192") ، فإنه يتجاوز القيم المحددة الأخرى.
  • إذا لم يكن الأمر كذلك ، فإنه يأخذ القيمة من src/test/resources/application.properties (إن وجد).
  • وأخيرًا ، إذا لم يتم تعريفه ، فسيبدأ بـ 8080 الافتراضي.

مثال:

تكوين اختبار المنفذ المحدد:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
@TestPropertySource(properties = "server.port=9192")
public class DemoApplicationTests {

    @Test
    public void contextLoads() {
    }

}

هناك العديد من المواد الأخرى التي يمكنك تغييرها في تكوين الخادم من خلال تغيير application.properties. مثل وقت الجلسة ، العنوان والمنفذ إلخ

المرجع: http://docs.spring.io/spring-boot/docs/1.4.x/reference/html/common-application-properties.html

اعتدت عدد قليل منهم على النحو التالي.

server.session.timeout=1
server.port = 3029
server.address= deepesh

هناك ثلاث طرق للقيام بذلك

1 قم بتعيين خاصية server.port في ملف application.properties

server.port = 8090

2 تعيين خاصية منفذ الخادم في application.yml

الخادم: المنفذ: 8090

3 قم بتعيين الخاصية كخاصية النظام في الطريقة الرئيسية

System.setProperty ( "server.port"، "8090")؛


يمكنك أيضًا استخدام متغير البيئة SERVER_PORT لتكوين منفذ Boot. ما عليك سوى تعيين متغير البيئة وإعادة تشغيل التطبيق:

set SERVER_PORT=9999 // on windows machine
export SERVER_PORT=9999 // on linux

يرجى ملاحظة أنه في حالة عدم ضبط نظام متغيرات البيئة هذه ، يجب تشغيل تطبيق التمهيد على نفس الجلسة.


يمكنك إضافة المنفذ بأساليب أدناه.

  1. تشغيل -> قسم التكوينات

  2. في application.xml أضف server.port=XXXX


يمكنك تعيين ذلك في application.properties تحت / src / main / resources /

server.port = 8090

يمكنك تكوين المنفذ الخاص بك في ملف application.properties في مجلد الموارد في مشروع التمهيد الربيع الخاص بك. server.port = "المنفذ الذي تحتاجه"







configuration