在SpringBoot中,我想用DI容器注册一个特定的实例(我实例化的实例)。我在下面写了一些伪代码,以显示我所追求的内容,但我似乎无法找到相关文档,或者它是否可能。
一些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 :(得分: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);