4

I am using the below to display all spring beans in the context. How can I remove beans from the context?

 ConfigurableApplicationContext ctx = SpringApplication.run(ProxyApplication.class, args);
 for(String beanName:ctx.getBeanDefinitionNames()){
     System.out.println(beanName);
 }
Punter Vicky
  • 14,140
  • 41
  • 164
  • 279

1 Answers1

11

You can do it this way:

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