Spring框架源码分析(IoC):BeanFactory和ApplicationContext容器家族

前置知识:组件扫描:自动发现应用容器中需要创建的Bean。自动装配:自动满足Bean之间的依赖。BeanFactory:Spring容器的基石,顶级容器接口
摘要由CSDN通过智能技术生成

系列文章主页

Spring框架源码脉络分析系列文章

前置知识

组件扫描:自动发现应用容器中需要创建的Bean。
自动装配:自动满足Bean之间的依赖。

BeanFactory:Spring容器的基石,顶级容器接口

在第一个章节中,我们提到过,在Spring官方文档中,称org.springframework.context.ApplicationContext这个接口就代表了Spring的容器,在解释ApplicationContext之前,必须要先介绍Spring容器的基石,BeanFactory接口。ApplicationContext就是继承了BeanFactory接口的一种高级容器接口。而BeanFactory是简单容器的代表,是Spring容器家族的基石,所有的容器都必须实现这个接口。

首先,先看一下BeanFactory接口的源码。

package org.springframework.beans.factory;

public interface BeanFactory {
   
	/**
	 * 对FactoryBean的转移定义,提供获取FactoryBean实例的方法。
	 * 如果定义bean时是通过工厂模式配置Bean的,那么通过bean的名字检索FactoryBean时
	 * 得到的会是FactoryBean生产出来的实例,如果想得到工厂本身,需要进行转义
	 */
	String FACTORY_BEAN_PREFIX = "&";

	/**
	 * 不同的获取Bean的方法
	 */
	Object getBean(String name) throws BeansException;
	<T> T getBean(String name, Class<T> requiredType) throws BeansException;
	Object getBean(String name, Object... args) throws BeansException;
	<T> T getBean(Class<T> requiredType) throws BeansException;
	<T> T getBean(Class<T> requiredType, Object... args) throws BeansException;

	/**
	 * 获取Bean的提供者(工厂)
	 */
	<T> ObjectProvider<T> getBeanProvider(Class<T> requiredType);
	<T> ObjectProvider<T> getBeanProvider(ResolvableType requiredType);
	
	
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值