【问题标题】:Removing Spring Beans from Application Context [duplicate]从应用程序上下文中删除 Spring Bean [重复]
【发布时间】:2016-08-05 16:12:45
【问题描述】:
我正在使用下面的内容来显示上下文中的所有 spring bean。如何从上下文中删除 bean?
ConfigurableApplicationContext ctx = SpringApplication.run(ProxyApplication.class, args);
for(String beanName:ctx.getBeanDefinitionNames()){
System.out.println(beanName);
}
【问题讨论】:
标签:
java
spring
spring-boot
【解决方案1】:
你可以这样做:
ConfigurableApplicationContext ctx = SpringApplication.run(ProxyApplication.class, args);
BeanDefinitionRegistry registry = (BeanDefinitionRegistry) ctx.getAutowireCapableBeanFactory();
for(String beanName : ctx.getBeanDefinitionNames()){
System.out.println(beanName);
registry.removeBeanDefinition(beanName);
}