I'm starting up a Spring Boot application with mvn spring-boot:run
.
One of my @Controller
s needs information about the host and port the application is listening on, i.e. localhost:8080
(or 127.x.y.z:8080
). Following the Spring Boot documentation, I use the server.address
and server.port
properties:
@Controller
public class MyController {
@Value("${server.address}")
private String serverAddress;
@Value("${server.port}")
private String serverPort;
//...
}
When starting up the application with mvn spring-boot:run
, I get the following exception:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myController': Injection of autowired dependencies failed; nested exception is
org.springframework.beans.factory.BeanCreationException: Could not autowire field: ... String ... serverAddress; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'server.address' in string value "${server.address}"
Both server.address
and server.port
cannot be autowired.
How can I find out the (local) host/address/NIC and port that a Spring Boot application is binding on?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…