我的 src/test 文件夹中有一个 spring boot 服务器应用程序,该应用程序配置为与我的 test.properties 一起运行。目前我的属性是这样的:server.port=9119server.ssl.enabled=falselogging.config=classpath:logback-spring.xmllogging.file=messageslogging.file.max-size=50MBlogging.level.com.nulogix=DEBUGbilling.engine.address=127.0.0.1billing.engine.port=9119billing.engine.api.version=0.97billing.engine.core.version=0.97billing.engine.core.name=Patient_Responsibility我想停用 server.port 并指向我的服务器以从 billing.engine.port 获取端口。是否可以配置 Spring 来执行此操作?我的 spring 应用程序主类目前看起来像这样import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.builder.SpringApplicationBuilder;@SpringBootApplicationpublic 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 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
你可以使用这个代码
@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
这不是经过测试的代码....我正在根据我的知识编写这段代码
添加回答
举报
0/150
提交
取消