一、现在我们很多时候都在spring的容器中,进行bean的提取和操作,但是配置里面首先需要扫描相应的包来实现相关bean的注入

  但是问题来了。如果我们在另外一个线程需要用的时候,并且没有配置扫描该类。那么手动去获取bean就很有必要的。

二、这里是我学习到的一种bean的获取和处理方式

三、需要的包spring3.0以后

    <dependency>      <groupId>org.spring work</groupId>      <artifactId>spring-webmvc</artifactId>      <version>4.3.9.RELEASE</version>    </dependency>

四、实现BeanFactoryPostProcessor接可以了,会重写一个方法

@Componentpublic class SpringUtil implements BeanFactoryPostProcessor {    private static ConfigurableListableBeanFactory beanFactory;    public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {        this.beanFactory = beanFactory;    }    public static   getBean(String name) {        return beanFactory.getBean(name);    }    public static <T> T getBean(Class<T> clazz){        return beanFactory.getBean(clazz);    }}

这个方式在启动以后,可以根据具体的名称来实现bean的获取和使用。

主要是方便自己管理和使用

 

收藏 打印