如何配置Spring Boot应用程序监听的TCP/IP端口,以便不使用默认的8080端口。
如何配置Spring Boot应用程序监听的TCP/IP端口,以便不使用默认的8080端口。
如果您正在使用 Gradle 作为构建工具,可以在您的 application.yml 文件中设置服务器端口:
server:
port: 8291
server.port: 8291
server.port = 8291
。 - iQuestProgrammer补充其他答案:
文档中有一节关于测试,解释了如何配置集成测试的端口:
在集成测试中,端口配置是使用注解@SpringBootTest
和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() {
}
}
根据使用的应用程序配置文件类型,有三种方法可以实现:
a)如果您正在使用 application.properties 文件,请设置如下内容:
server.port = 8090
b)如果您正在使用 application.yml 文件,请按以下 YAML 格式设置服务器端口属性:
server:
port: 8090
c) 您还可以在主方法中将该属性设置为系统属性。
System.setProperty("server.port","8090");
EmbeddedServletContainerFactory
bean 来指定端口(无论是基于Java还是XML的配置)。在那里,您可以为使用的嵌入式servlet容器指定端口。请参见Spring Boot - Core 中的“嵌入式Servlet容器支持”段落和示例。希望这有所帮助。在位于资源中的application.properties
文件中:
server.port=8082
通过更改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
请将以下内容添加到您的application.properties
文件中:
server.port= 8080
server.port 8080
是Java属性文件的错误语法... - Betlista默认情况下,Spring Boot 应用使用嵌入的Tomcat服务器启动,默认端口为8080。Spring 提供了以下不同的自定义选项,您可以选择其中一个。
注意 - 您可以使用server.port=0,Spring Boot 将为我们寻找任何未分配的随机HTTP端口。
1)application.properties
server.port=2020
2) application.yml
->2)应用程序配置文件:application.yml
server:
port : 2020
3) 编程方式更改服务器端口
3.1) 通过实现WebServerFactoryCustomizer接口 - Spring 2.x
@Component
public class MyTomcatWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
@Override
public void customize(TomcatServletWebServerFactory factory) {
// customize the factory here
factory.setPort(2020);
}
}
3.2) 通过实现EmbeddedServletContainerCustomizer接口 - Spring 1.x
@Component
public class CustomizationBean implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
// customize here
container.setPort(2020);
}
}
4) 通过使用命令行选项
java -jar spring-boot-app.jar -Dserver.port=2020
众所周知,你可以在application.properties中指定
server.port = 9000 (可以是任何其他值)
如果您的项目中使用了Spring Actuator,默认情况下它指向
8080,并且如果您想要更改它,则需要在application.properties中提及
management.port = 9001 (可以是任何其他值)
application.properties
文件中添加以下行:server.port = 65535
要将该文件放在哪里:
24.3应用程序属性文件
SpringApplication从以下位置的application.properties文件加载属性,并将它们添加到Spring环境中:
A /config subdirectory of the current directory
The current directory
A classpath /config package
The classpath root
该列表按优先级排序(在较高的位置定义的属性会覆盖在较低位置定义的属性)。
在我的情况下,我将其放在jar
文件所在的目录中。
来源:
server.port=8080
。此配置位于org.springframework.boot.autoconfigure.web
下的ServerProperties.class
类中。 - Atif