2016-08-05 36 views
1

我正在使用下面的代码来显示上下文中的所有spring bean。我如何从上下文中删除bean?从应用程序上下文中删除Spring Bean

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

删除bean定义? –

回答

5

你可以这样来做:

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