自定义Spring容器工具类

2022-12-292067

前言

在项目开发的时候,有时候需要单独获取容器中的Bean 在Spring中提供了ApplicationContextAware接口 里面包含了ApplicationContext对象 我们可以通过实现它来获取bean对象

实现

上代码:

@Component
public class SpringUtil implements ApplicationContextAware {
    private static ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        SpringUtil.applicationContext = applicationContext;
    }

    public ApplicationContext getApplicationContext(){
        return applicationContext;
    }

    public static Object getBean(String beanName){
        return applicationContext.getBean(beanName);
    }

    public static <T> T getBean(Class<T> clazz){
        return (T)applicationContext.getBean(clazz);
    }
}

ApplicationContext.getBean 空指针问题解决

在前面的 SpringUtil 对象进行获取对象的时候,报空指针了 有时间加载对象的时候顺序不一样, 所以我要在需要使用 SpringUtil 的类之上添加注解

@DependsOn("springUtil")

表示我需要先引用这个,请先给我准备好

分享
点赞1
打赏
上一篇:Docker常用命令笔记(一)
下一篇:pytest生成测试报告