java访问服务器端口@值(${local.server.port})不工作
我目前正在使用Springboot应用程序,需要访问当前的服务器端口。由于我在application.properties
中定义了server.port = 0
,因此端口被随机分配
我已经看到多个关于这一点的帖子,它们都指向添加:
@Value("${local.server.port}")
private int port;
然而,启动应用程序会提示我Could not resolve placeholder 'local.server.port' in string value "${local.server.port}"
澄清一下,我不是在设置测试。我使用的是Springboot 1.5.7。我错过什么了吗?我尝试运行以下简单示例:
@SpringBootApplication
public class Main {
@Value("${local.server.port}")
private int port;
public static void main(String[] args) {
SpringApplication.run(Main.class, args);
}
@PostConstruct
public void printsomething() {
System.out.println("PORT " + this.port);
}
}
# 1 楼答案
如问题注释部分所述,并参考了由@Survey链接的文档,
@Value("${local.server.port}")
在运行应用程序时不能使用。解决方案是执行以下操作: