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。