栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring源码-AutowireCapableBeanFactory-源码解读

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring源码-AutowireCapableBeanFactory-源码解读

public interface AutowireCapableBeanFactory extends BeanFactory {

	
	int AUTOWIRE_NO = 0;

	
	int AUTOWIRE_BY_NAME = 1;

	
	int AUTOWIRE_BY_TYPE = 2;

	
	int AUTOWIRE_ConSTRUCTOR = 3;

	
	@Deprecated
	int AUTOWIRE_AUTODETECT = 4;

	
	String ORIGINAL_INSTANCE_SUFFIX = ".ORIGINAL";


	//-------------------------------------------------------------------------
	// Typical methods for creating and populating external bean instances
	//-------------------------------------------------------------------------

	
	 T createBean(Class beanClass) throws BeansException;

	
	void autowireBean(Object existingBean) throws BeansException;

	
	Object configureBean(Object existingBean, String beanName) throws BeansException;


	//-------------------------------------------------------------------------
	// Specialized methods for fine-grained control over the bean lifecycle
	//-------------------------------------------------------------------------

	
	Object createBean(Class beanClass, int autowireMode, boolean dependencyCheck) throws BeansException;

	
	Object autowire(Class beanClass, int autowireMode, boolean dependencyCheck) throws BeansException;

	
	void autowireBeanProperties(Object existingBean, int autowireMode, boolean dependencyCheck)
			throws BeansException;

	
	void applyBeanPropertyValues(Object existingBean, String beanName) throws BeansException;

	
	Object initializeBean(Object existingBean, String beanName) throws BeansException;

	
	Object applyBeanPostProcessorsBeforeInitialization(Object existingBean, String beanName)
			throws BeansException;

	
	Object applyBeanPostProcessorsAfterInitialization(Object existingBean, String beanName)
			throws BeansException;

	
	void destroyBean(Object existingBean);


	//-------------------------------------------------------------------------
	// Delegate methods for resolving injection points
	//-------------------------------------------------------------------------

	
	 NamedBeanHolder resolveNamedBean(Class requiredType) throws BeansException;

	
	Object resolveBeanByName(String name, DependencyDescriptor descriptor) throws BeansException;

	
	@Nullable
	Object resolveDependency(DependencyDescriptor descriptor, @Nullable String requestingBeanName) throws BeansException;

	
	@Nullable
	Object resolveDependency(DependencyDescriptor descriptor, @Nullable String requestingBeanName,
			@Nullable Set autowiredBeanNames, @Nullable TypeConverter typeConverter) throws BeansException;

}
主要方法
方法名含义
T createBean(Class beanClass)履行 bean 的完整初始化,包括所有可用的 BeanPostProcessors
void autowireBean(Object existingBean)通过在完成 bean 的实例化之后去填充 bean , 以及执行 post-processing
Object configureBean(Object existingBean, String beanName)配置给定的原始 bean,自动注入 bean 属性,请求 bean 的属性值请求工厂的回调,例如 setBeanName 和 setBeanFactory
Object createBean(Class beanClass, int autowireMode, boolean dependencyCheck)对于指定的自动装配策略去创建一个完整的新的 bean 实例
Object autowire(Class beanClass, int autowireMode, boolean dependencyCheck)对与给定的 class 与 指定的注入策略,创建一个新的 bean 实例
void autowireBeanProperties(Object existingBean, int autowireMode, boolean dependencyCheck)凭借名字或类型自动注入给定 bean 实例的 bean 属性
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/776831.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号