2017-05-26 9 views
0

SpringBootでは、DIコンテナに特定のインスタンス(インスタンス化するインスタンス)を登録したいと思います。私は私が何をしているかを示すために以下の擬似コードを書いたが、関連する文書を見つけることができないか、それが可能であるかどうかはわからない。SpringBootはクラスの特定のインスタンスを登録します

いくつかのJSON私はそれを書きたいどのよう

{ 
    "host" : "0.0.0.0", 
    "port" : 8000, 
    "someSpecificProperty" : "fubar" 
} 

...

Configuration configuration = new JsonConfigurationFileReader('./config.json).Read(); 

new SpringApplicationBuilder(ServiceAController.class) 
     .register(Configuration.class, configuration) 
     .run(args); 

答えて

0

私はこれを達成することが分かっ方法はApplicationContextInitializerを使用していました。

SpringApplication application = new SpringApplicationBuilder(ServiceAController.class) 
         .build(); 

Configuration configuration = new JsonConfigurationFileReader('./config.json).Read(); 
application.addInitializers((ApplicationContextInitializer<ConfigurableApplicationContext>) applicationContext -> 
         applicationContext.getBeanFactory().registerResolvableDependency(Configuration.class, configuration)); 

application.run(args); 
関連する問題