如何配置Spring Boot应用程序侦听的TCP/IP端口,使其不使用默认端口8080。
当前回答
默认情况下,spring启动应用程序从默认端口8080启动嵌入式tomcat服务器。Spring为您提供了以下不同的自定义,您可以从中选择一种。
说明—您可以使用服务器。Port =0 spring引导将找到任何未分配的HTTP随机端口 对我们来说。
1) application.properties
server.port=2020
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
其他回答
此外,您还可以以编程方式配置端口。
对于Spring Boot 2.x.x:
@Configuration
public class CustomContainer implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
public void customize(ConfigurableServletWebServerFactory factory){
factory.setPort(8042);
}
}
对于旧版本:
@Configuration
public class ServletConfig {
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return (container -> {
container.setPort(8012);
});
}
}
在应用程序属性中添加一行
server.port = 8090
“服务器。Port =8080"将只工作,如果你运行应用程序作为一个jar通过main方法,
如果您通过tomcat容器将此应用程序作为war文件运行,则此配置将不起作用。
在Spring引导应用程序中,有两种主要方法可以更改嵌入式Tomcat中的端口。
修改application.properties
首先,您可以尝试应用程序。属性文件在/resources文件夹:
server.port = 8090
修改虚拟机选项
第二种方法,如果你想避免修改任何文件和检入你只需要在你的本地文件,你可以使用vm arg:
执行—>编辑配置—>虚拟机选项
-Dserver.port=8090
此外,如果您需要更多信息,可以查看下面的博客文章:在Spring引导应用程序上更改端口
默认情况下,spring启动应用程序从默认端口8080启动嵌入式tomcat服务器。Spring为您提供了以下不同的自定义,您可以从中选择一种。
说明—您可以使用服务器。Port =0 spring引导将找到任何未分配的HTTP随机端口 对我们来说。
1) application.properties
server.port=2020
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
推荐文章
- Intellij IDEA Java类在保存时不能自动编译
- 何时使用Mockito.verify()?
- 在maven中安装mvn到底做什么
- 不可变与不可修改的集合
- 如何在JSON中使用杰克逊更改字段名
- GSON -日期格式
- 如何从线程捕获异常
- 无法解析主机"<URL here>"没有与主机名关联的地址
- 如何在Java中打印二叉树图?
- 用Spring我可以做一个可选的路径变量吗?
- String.format()在Java中格式化双重格式
- com.jcraft.jsch.JSchException: UnknownHostKey
- Java中的操作符重载
- 如何加速gwt编译器?
- 在Hibernate中重新连接分离对象的正确方法是什么?