AutowireCapableBeanFactory自动装配的Bean工厂

public interface AutowireCapableBeanFactory extends BeanFactory {

// 这个常量表明工厂没有自动装配的 Bean
int AUTOWIRE_NO = 0 ;
// 表明根据名称自动装配
int AUTOWIRE_BY_NAME = 1 ;
// 表明根据类型自动装配
int AUTOWIRE_BY_TYPE = 2 ;
// 表明根据构造方法快速装配
int AUTOWIRE_CONSTRUCTOR = 3 ;
// 表明通过 Bean class 的内部来自动装配(有没翻译错 ... Spring3.0 被弃用。
@Deprecated
int AUTOWIRE_AUTODETECT = 4 ;
// 根据指定 Class 创建一个全新的 Bean 实例
< T > T createBean ( Class < T > beanClass ) throws BeansException ;
// 给定对象,根据注释、后处理器等,进行自动装配
void autowireBean ( Object existingBean ) throws BeansException ;
// 根据 Bean 名的 BeanDefinition 装配这个未加工的 Object ,执行回调和各种后处理器。
Object configureBean ( Object existingBean , String beanName ) throws
BeansException ;
// 分解 Bean 在工厂中定义的这个指定的依赖 descriptor
Object resolveDependency ( DependencyDescriptor descriptor , String
beanName ) throws BeansException ;
// 根据给定的类型和指定的装配策略,创建一个新的 Bean 实例
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 ;
/*
* 初始化一个 Bean...
*/
Object initializeBean ( Object existingBean , String beanName ) throws
BeansException ;
/*
* 初始化之前执行 BeanPostProcessors
*/
 
Object applyBeanPostProcessorsBeforeInitialization ( Object existingBean ,
String beanName )
throws BeansException ;
/*
* 初始化之后执行 BeanPostProcessors
*/
Object applyBeanPostProcessorsAfterInitialization ( Object existingBean ,
String beanName )
throws BeansException ;
/*
* 分解指定的依赖
*/
Object resolveDependency ( DependencyDescriptor descriptor , String
beanName ,
Set < String > autowiredBeanNames , TypeConverter typeConverter )
throws BeansException ;
}
Version:0.9 StartHTML:0000000105 EndHTML:0000002667 StartFragment:0000000141 EndFragment:0000002627
1. 总共 5 个静态不可变常量来指明装配策略,其中一个常量被 Spring3.0 废弃、一个常量表示没有自动
装配,另外 3 个常量指明不同的装配策略 —— 根据名称、根据类型、根据构造方法。
2. 8 个跟自动装配有关的方法,实在是繁杂,具体的意义我们研究类的时候再分辨吧。
3. 2 个执行 BeanPostProcessors 的方法。
4. 2 个分解指定依赖的方法
 
这个工厂接口继承自 BeanFacotory ,它扩展了自动装配的功能,根据类定义 BeanDefinition 装配
Bean 、执行前、后处理器等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值