Spring boot 1.x
可以通过实现EmbeddedServletContainerCustomizer 接口去实现:
@Bean
public EmbeddedServletContainerCustomizer servletContainerCustomizer() {
return new EmbeddedServletContainerCustomizer() {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
String address = "localhost";
Integer port = 12345;
try {
container.setAddress(InetAddress.getByName(address));
container.setPort(port);
} catch (UnknownHostException e) {
logger.error("can not resolve host:" + address, e);
throw new RuntimeException("can not resolve host:" + address, e);
}
}
};
}
Spring boot 2.x
可以通过实现TomcatServletWebServerFactory 接口去实现:
@Bean
public TomcatServletWebServerFactory servletWebServerFactory(){
String address = "localhost";
Integer port = 12345;
TomcatServletWebServerFactory container = new TomcatServletWebServerFactory();
try {
container.setPort(port);
container.setAddress(InetAddress.getByName(address));
return container;
} catch (UnknownHostException e) {
logger.error("can not resolve host:" + address, e);
throw new RuntimeException("can not resolve host:" + address, e);
}
}