Spring 在 application.properties 中引导重命名 server.port
Spring Boot renaming server.port in application.properties
我的 src/test 文件夹中有一个 spring 引导服务器应用程序,该应用程序配置为 运行 我的 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 来执行此操作?
我的 spring 应用程序主 class 目前看起来像这样
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);
}
}
您可以使用此代码
@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
这不是经过测试的代码....我是根据我的知识编写这段代码的
我的 src/test 文件夹中有一个 spring 引导服务器应用程序,该应用程序配置为 运行 我的 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 来执行此操作?
我的 spring 应用程序主 class 目前看起来像这样
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);
}
}
您可以使用此代码
@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
这不是经过测试的代码....我是根据我的知识编写这段代码的