@Component
public class BeanContextUtil implements BeanFactoryAware {
private static DefaultListableBeanFactory listableBeanFactory;
@Override
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
listableBeanFactory = (DefaultListableBeanFactory) beanFactory;
listableBeanFactory.setAllowBeanDefinitionOverriding(true);
}
/**
* 创建单例的bean
*/
public void registerSingleton(String beanName, Object object) {
listableBeanFactory.registerSingleton(beanName, object);
}
/**
* 销毁单例的bean
*/
public void destroySingleton(String beanName) {
listableBeanFactory.destroySingleton(beanName);
}
/**
* 通过名称获取bean
*/
public Object getBean(String beanName) {
if (containsBean(beanName)) {
return listableBeanFactory.getBean(beanName);
} else {
return null;
}
}
/**
* 判断上下文是否有这个bean
*/
public boolean containsBean(String beanName) {
return listableBeanFactory.containsBean(beanName);
}
}
SpringBoot 上下文 Bean 工具类
最新推荐文章于 2024-08-09 19:00:57 发布