通过BeanFactoryPostProcessor来获取bean

简介: 一、现在我们很多时候都在spring的容器中,进行bean的提取和操作,但是配置里面首先需要扫描相应的包来实现相关bean的注入  但是问题来了。如果我们在另外一个线程需要用的时候,并且没有配置扫描该类。

一、现在我们很多时候都在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的获取和使用。

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

 

相关文章
|
18天前
|
XML JavaScript Java
BeanFactory 和 FactoryBean的区别
本文介绍了Spring框架中的`BeanFactory`和`FactoryBean`。`BeanFactory`是Spring的核心接口,用于管理Bean的创建、配置及依赖注入。其实现包括`DefaultListableBeanFactory`和已废弃的`XmlBeanFactory`。`FactoryBean`则用于动态创建Bean实例,支持懒加载及AOP代理创建。文章还通过示例展示了如何实现一个`FactoryBean`,并通过测试验证其功能。最后附上了作者信息及版权声明。
BeanFactory 和 FactoryBean的区别
|
5月前
|
设计模式 Java Spring
BeanFactory与FactoryBean的区别
BeanFactory与FactoryBean的区别
|
XML Java 数据库连接
FactoryBean的使用~
FactoryBean的使用~
|
Java 开发者 Spring
BeanFactory和FactoryBean
BeanFactory和FactoryBean
87 0
|
XML 设计模式 Java
什么是bean
什么是bean
420 0
|
XML Java 数据格式
Spring之BeanFactoryPostProcessor和BeanPostProcessor
Spring之BeanFactoryPostProcessor和BeanPostProcessor
275 0
Spring之BeanFactoryPostProcessor和BeanPostProcessor
|
Java Spring 容器
|
XML Java 数据格式
【Spring源码解析】SpringIOC(1)—— Bean与BeanDefinition
全局视角看核心接口和类 Bean与BeanDefinition BeanDefinition是Bean的定义 容器初始化主要做的事情(主要脉络) BeanDefinition源码
【Spring源码解析】SpringIOC(1)—— Bean与BeanDefinition
通过实现ApplicationContextAware接口获取Bean
通过实现ApplicationContextAware接口获取Bean
143 0
|
XML JSON Java
Spring源码解析 - FactoryBean&&BeanFactory(上)
Spring源码解析 - FactoryBean&&BeanFactory
122 0
Spring源码解析 - FactoryBean&&BeanFactory(上)