2016-08-05 17 views
1

Ich verwende die unten, um alle Spring Beans im Kontext anzuzeigen. Wie kann ich Beans aus dem Kontext entfernen?Entfernen von Frühlingsbohnen aus dem Anwendungskontext

ConfigurableApplicationContext ctx = SpringApplication.run(ProxyApplication.class, args); 
for(String beanName:ctx.getBeanDefinitionNames()){ 
    System.out.println(beanName); 
} 
+1

die Bean-Definition entfernen? –

Antwort

5

Sie können es auf diese Weise tun:

ConfigurableApplicationContext ctx = SpringApplication.run(ProxyApplication.class, args); 
    BeanDefinitionRegistry registry = (BeanDefinitionRegistry) ctx.getAutowireCapableBeanFactory(); 
    for(String beanName : ctx.getBeanDefinitionNames()){ 
     System.out.println(beanName); 
     registry.removeBeanDefinition(beanName); 
    }