一、现在我们很多时候都在spring的容器中,进行bean的提取和操作,但是配置里面首先需要扫描相应的包来实现相关bean的注入
但是问题来了。如果我们在另外一个线程需要用的时候,并且没有配置扫描该类。那么手动去获取bean就很有必要的。
二、这里是我学习到的一种bean的获取和处理方式
三、需要的包spring3.0以后
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.9.RELEASE</version> </dependency>
四、实现BeanFactoryPostProcessor接可以了,会重写一个方法
@Component public class SpringUtil implements BeanFactoryPostProcessor { private static ConfigurableListableBeanFactory beanFactory; public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { this.beanFactory = beanFactory; } public static Object getBean(String name) { return beanFactory.getBean(name); } public static <T> T getBean(Class<T> clazz){ return beanFactory.getBean(clazz); } }
这个方式在启动以后,可以根据具体的名称来实现bean的获取和使用。
主要是方便自己管理和使用