如何配置Spring Boot应用程序侦听的TCP/IP端口,使其不使用默认端口8080。
当前回答
除了在申请时添加端口。属性,通过将属性文件方法与Spring配置文件相结合,您还可以轻松地实现针对不同环境的多个端口。具体来说,我们可以为每个环境创建一个属性文件。
例如,我们将有一个应用程序开发。包含以下内容的属性文件:
server.port=8081
然后您可以添加另一个应用程序-qa。属性文件使用不同的端口:
server.port=8082
其他回答
在应用程序中。属性文件,添加这一行:
server.port = 65535
该把照片放在哪里?
24.3应用程序属性文件 SpringApplication从应用程序加载属性。属性文件 并将它们添加到Spring环境中: 当前目录下的/config子目录 当前目录 一个类路径/配置包 类路径根 列表按优先级(在位置中定义的属性)排序 列表中较高的位置将覆盖在较低位置定义的那些)。
在我的例子中,我把它放在jar文件所在的目录中。
来自:
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config-application-property-files
在应用程序属性中添加一行
server.port = 8090
如果你想在本地运行它,使用这个-
mvn spring-boot:run - dserver . jvmarguments ='-Dserver.port=8085'
从Spring Boot 2.0开始,下面的命令是有效的(线索在这里):
mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8085
将此添加到应用程序中。属性文件
server.port= 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() {
}
}
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- 在Jar文件中运行类
- 带参数的可运行?
- 我如何找到哪个程序正在使用端口80在Windows?
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作
- 在Java流是peek真的只是调试?
- Recyclerview不调用onCreateViewHolder