如何配置Spring Boot应用程序侦听的TCP/IP端口,使其不使用默认端口8080。
当前回答
延伸其他答案:
文档中有一个测试部分解释了如何在集成测试中配置端口:
41.3测试Spring Boot应用程序 41.3.3使用随机端口
在集成测试中,端口配置是使用注释@SpringBootTest和webEnvironment值完成的。
随机端口:
@SpringBootTest(webEnvironment=WebEnvironment.RANDOM_PORT)
您可以使用与@Value("${local.server.port}")相同的@LocalServerPort注入值。
例子:
随机端口测试配置:
@RunWith(SpringRunner.class
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
public class ExampleTest {
...
@LocalServerPort //to inject port value
int port;
}
定义端口:
@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT)
它从服务器获取值。端口,如果已定义。
如果使用@TestPropertySource(properties = "server.port=9192")定义,它将覆盖其他定义的值。 如果不是,则从src/test/resources/application获取值。属性(如果存在)。 最后,如果没有定义它,则从默认的8080开始。
例子:
定义端口测试配置:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
@TestPropertySource(properties = "server.port=9192")
public class DemoApplicationTests {
@Test
public void contextLoads() {
}
}
其他回答
将此添加到应用程序中。属性文件
server.port= 8080
在spring引导中,您可以轻松地在应用程序中配置服务公开端口。属性文件。
server.port=portnumber
如果您没有专门设置端口,那么它将尝试使用端口80打开服务。如果它已经被使用,则嵌入容器上的服务将不会启动。
默认端口号是: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.
根据所使用的应用程序配置文件,有三种方法可以做到这一点
a)如果您正在使用应用程序。属性文件集
server.port = 8090
b)如果您正在使用应用程序。yml文件设置YAML格式的服务器端口属性,如下所示
server:
port: 8090
c)也可以在main方法中将属性设置为System属性
System.setProperty("server.port","8090");
实际上,最简单的方法是设置服务器。端口属性。
如果你使用STS作为IDE,从3.6.7版本开始,你实际上有Spring Properties Editor来打开属性文件。
该编辑器为所有Spring Boot属性提供了自动补全功能。如果你写端口并按CTRL + SPACE,服务器。端口将是第一选择。
推荐文章
- Java 8接口方法中不允许“同步”的原因是什么?
- 如何找到Java堆大小和内存使用(Linux)?
- Spring引导——不是托管类型
- Spring Boot YAML配置的字符串列表
- 使用Enum实现单例(Java)
- RabbitMQ与通道和连接之间的关系
- buildSessionFactory()配置方法在Hibernate中已弃用?
- Spring MVC -如何获得所有的请求参数在一个地图在Spring控制器?
- 如何在Java中按两个字段排序?
- 文件之间的差异。路径中的分隔符和斜杠
- 在方法参数中使用NotNull注释
- Spring MVC中处理可选参数的@RequestParam
- Tomcat:如何查找正在运行的Tomcat版本?
- “java”、“javaw”和“javaws”之间有什么区别?
- 将Date对象转换为日历对象