'org.springframework.boot.web.server.LocalServerPort'已弃用



由于Spring引导2.7.1,@LocalServerPort(在包org.springframework.boot.web.server.LocalServerPort中)已弃用。

我可以用什么来代替这个注释?

在您的spring-boot 2.7.1中导入以下包。对下面提到的包使用@LocalServerPort。

org.springframework.boot.test.web.server

你可以在链接中阅读

一旦通过,您将再次查询SQL错误。

org.springframework.boot.web.server.LocalServerPort已弃用。

您可以导入org.springframework.boot.test.web.server.LocalServerPort

对于所有寻找解决方案的人:只需更换进口

import org.springframework.boot.web.server.LocalServerPort;

通过

import org.springframework.boot.test.web.server.LocalServerPort;

你可以在这里找到当前的文档

您可以尝试使用@Value("${server.port}")来获取端口。这里需要注意的一点是,自Spring Boot 2.7.0版本以来,@LocalServerPort被移到了测试jar中,因为Spring Boot团队只打算将它们用于测试。然而,Puneet的建议也会起作用,前提是您在pom.xml 中具有以下依赖项

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
</dependency>

您还可以使用事件侦听器在web服务器启动后获取端口。根据你试图做的事情,这可能会奏效,但要注意,它们甚至会在创建豆子后起火。

@EventListener
void onWebInit(WebServerInitializedEvent event) {
int port = event.getWebServer().getPort();
}

这里最简单的方法是使用@Value("${server.port}")或Puneet建议的方法。使用从测试jar导入。在pom.xml中具有上述依赖关系对于实现这一点至关重要。

您可以检查与此迁移相关的github问题。

相关内容

  • 没有找到相关文章

最新更新