Spring Boot重命名application.properties中的server.port

时间:2019-08-12 15:45:36

标签: java spring-boot server properties ip

我的src / test文件夹中有一个spring boot服务器应用程序,该应用程序配置为与test.properties一起运行。

当前我的属性如下:

server.port=9119
server.ssl.enabled=false
logging.config=classpath:logback-spring.xml
logging.file=messages
logging.file.max-size=50MB
logging.level.com.nulogix=DEBUG
billing.engine.address=127.0.0.1
billing.engine.port=9119
billing.engine.api.version=0.97
billing.engine.core.version=0.97
billing.engine.core.name=Patient_Responsibility

我想退出server.port并指向我的服务器以从billing.engine.port获取端口。

是否可以配置Spring来做到这一点?

我的春季应用主班目前看起来像这样

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
@SpringBootApplication
public class MockServerApp {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new SpringApplicationBuilder(MockServerApp.class)       
        .properties("spring.config.name:test")
        .build()
        .run(args);


    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用此代码

@Component
public class ServerPortCustomizer 
  implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {
    @Value("${billing.engine.port}")
    private String SERVERPORTNO;
    @Override
    public void customize(ConfigurableWebServerFactory factory) {
        factory.setPort(SERVERPORTNO);
    }
}

并更改application.properties

#server.port=9119
billing.engine.port=9119

这不是经过测试的代码。...我是根据我的知识编写此代码