2016-09-13 8 views
0

これを行う方法があるかどうか疑問に思っていました。SpringブートアプリケーションのプロパティをBeanから設定することはできますか?

私はプロパティをハードコーディングしたい(私は最善ではないかもしれません知っている)、のは、私は.propertiesを使用せずにポートXXXまたは任意の他の構成に、常に自分のアプリケーションを実行したいとしましょう。

メインからこれを行う方法はありますか?または構成ビーン?

ありがとうございました。

+0

はい、それは可能EmbeddedServletContainerFactory – JEY

+0

しかし、ポートのためだけでなく、それを行うにはどのような方法があるのか​​? – jpganz18

+0

Tomcat、Jetty、UndertowのEmbeddedServletContainerFactoryを使用すると、ほとんどすべてのことを行うことができます。 – JEY

答えて

1

ポートを設定する方法については、このを見てみましょう:Spring Boot - how to configure port

関連するコードをこのです:一般的に

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

、application.propertiesを介して設定することができ、ほとんどのプロパティも設定することができますJava Beanを使用します。しかし、可能ならばapplication.propertiesを使用することをお勧めします。ソースコードを変更することなく、プロパティを変更することができます。

EDIT:あなたは役に立つかもしれません掲載のリンクから

いくつかの他のコード:

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

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

私は2番目のオプションが、前にdidnt仕事、それは今、感謝して動作します! – jpganz18

関連する問題