是否可以从bean设置Spring Boot应用程序的属性?

时间:2016-09-13 15:17:48

标签: java spring

我想知道是否有办法做到这一点。

我想硬编码一个属性(我知道可能不是最好的),让我们说我想在端口 XXX 或任何其他配置上运行我的应用程序而不使用{ {1}}。

有什么办法可以从主要的方面做到这一点?还是配置bean?

感谢。

1 个答案:

答案 0 :(得分:1)

请看一下如何配置端口:Spring Boot - how to configure port

相关代码是:

@Controller
public class ServletConfig {
    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {
      return (container -> {
        container.setPort(8012);
    });
}

通常,可以通过Java bean配置可以通过application.properties配置的大多数属性。但是,如果可以,我建议使用application.properties。它允许您更改属性,而无需更改源代码。

编辑:

您可能会发现有用的帖子链接中的其他一些代码:

HashMap<String, Object> props = new HashMap<>();
props.put("server.port", 9999);

new SpringApplicationBuilder()
  .sources(SampleController.class)                
  .properties(props)
  .run(args);