spring实例化一:InstantiationStrategy

 
    DefaultListableBeanFactory对bean的管理工厂,包括bean的生成,从class到bean的实例化。spring特为这个实例化过程,定义了接口InstantiationStrategy,直译为实例化策略。里面分别定义了几个接口方法。
 
public interface InstantiationStrategy {
 
    // bd 从配置文件或者注解中获取的bean定义信息
    // beanName bean的名称
    // owner bean的工厂
    // 通过这三个参数,实例化对象
    Object instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner)
            throws BeansException;
 
    // ctor 实例化指定的类的构造方法
    // args 实例化制定构造方法的实例化参数
    // 通过这五个参数,实例化对象
    Object instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner,
            Constructor<?> ctor, Object... args) throws BeansException;
 
    // factoryBean 工厂bean
    // factoryMethod 工厂method
    // args  工厂bean的实例化参数
    // 通过这六个参数,实例化对象
    Object instantiate(RootBeanDefinition bd, String beanName, BeanFactory owner,
            Object factoryBean, Method factoryMethod, Object... args) throws BeansException;
}

 

 
继承类图:
 
在spring中,接口设计的很到位,后面可以配置不同的实现。spring自己的实现,请看下文。
 
 
 
posted @ 2016-08-11 20:42  li.zhiliang  阅读(455)  评论(0编辑  收藏  举报