DefaultListableBeanFactory容器
DefaultListableBeanFactory,是 BeanFactory 最重要的实现,像 控制反转和 依赖注入功能,都是它来实现。
DefaultListableBeanFactory是spring最最最最最最最最最最最简单的容器。
我们通过编码的方式来模拟该容器对bean的管理。
基本步骤
1、创建DefaultListableBeanFactory对象(创建容器,一个最简单的spring容器)
2、生成bean的描述信息(bean的定义,描述这个bean的信息,就相当于给这个bean办个身份证)
3、将bean的描述信息注册到DefaultListableBeanFactory对象中(将这个bean放入到容器中)
4、可以获取bean进行操作了
public class TestDefaultListableBeanFactory {
public static void main(String[] args) {
//1、创建DefaultListableBeanFactory对象
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
//2、生成bean的描述信息(bean的定义)
AbstractBeanDefinition beanDefinition = BeanDefinitionBuilder.genericBeanDefinition(MyConfig.class).setScope("singleton").getBeanDefinition();
//3、将bean的描述信息注册到DefaultListableBeanFactory对象中
beanFactory.registerBeanDefinition("MyConfig",beanDefinition);
//查看容器中bean的名称
for (String name : beanFactory.getBeanDefinitionNames()) {
System.out.println(name);
}
}
}
MyConfig配置类
class MyConfig{
}
输出
我们可以看到上面没有用到一个spring的注解,但却创建了bean,管理了bean,操作了bean。