I want to disallow bean definition overriding in a SpringApplication
. In other words, I want the effect of invoking GenericApplicationContext.setAllowBean
Well, you can achieve it with some Boot features and context customization:
@EnableAutoConfiguration
public class MyApp {
public static void main(String[] args) throws InterruptedException {
ConfigurableApplicationContext ctx = new SpringApplicationBuilder(MyApp.class)
.initializers(new ApplicationContextInitializer() {
@Override
public void initialize(GenericApplicationContext applicationContext) {
applicationContext.setAllowBeanDefinitionOverriding(false);
}
}).run(args);
}
}
All other info you can find from source code and JavaDocs of mentioned classes.