spring boot 1.x和 2.x通過代碼修改默認address和端口

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);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章