DefaultListableBeanFactory容器

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: DefaultListableBeanFactory,是 BeanFactory 最重要的实现,像 控制反转和 依赖注入功能,都是它来实现。

DefaultListableBeanFactory容器


      DefaultListableBeanFactory,是 BeanFactory 最重要的实现,像 控制反转依赖注入功能,都是它来实现。

2345_image_file_copy_435.jpgDefaultListableBeanFactory是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{
}

输出

2345_image_file_copy_436.jpg

我们可以看到上面没有用到一个spring的注解,但却创建了bean,管理了bean,操作了bean

相关文章
|
5月前
|
存储 C++ 容器
|
6月前
|
C++ 容器
C++之set/multiset容器
C++之set/multiset容器
|
7月前
|
前端开发 应用服务中间件 nginx
Docker consul的容器服务更新与发现
Docker consul的容器服务更新与发现
|
存储 C++ 容器
C++:容器list的介绍及使用
C++:容器list的介绍及使用
|
API C++ 容器
79 C++ - set/multiset容器
79 C++ - set/multiset容器
54 0
|
存储 API C++
78 C++ - list容器
78 C++ - list容器
52 0
|
应用服务中间件 Shell nginx
Docker consul的容器服务注册与发现-2
Docker consul的容器服务注册与发现
104 0
|
前端开发 应用服务中间件 nginx
Docker consul的容器服务注册与发现-1
Docker consul的容器服务注册与发现
182 0
|
弹性计算 Kubernetes 固态存储
StatefulSet应用部署
本场景带您体验如何使用k8s的原生命令kubectl部署一个StatefulSet应用的镜像到k8s集群中,并对该StatefulSet应用进行伸缩操作。
|
容器
set容器详解
/* #include<iostream> #include<set> using namespace std; /* * set 容器 * 所有元素在插入时都会自动排序 * 本质: * set/multiset 属于关联式容器,底层结构是用二叉树实现的 * * * * set和multiset区别: * set不允许有重复的元素,在插入时会返回插入结果,表示插入是否成功 * * multiset 可以有重复的元素,不会检测数据,因此可以重复 * set构造和赋值 * set<T> st; 默认构造函数 * set(const set& st); 拷贝构造函数 * 赋值: * s
117 1