3.0.1-加载bean流程图
2014-10-28 14:54:28   182  举报             
     
         
 Spring ioc 加载Bean
    作者其他创作
 大纲/内容
 类型转换
  针对不同的scope进行bean的创建
  name参数可能是别名或者FactoryBean,需要一系列的解析
  缓存中加载的bean是否为空
  getObjectForBeanInstance( ... ) : Object
  3.1-尝试从缓存中加载单例
  end
  3.3-根据单态模式创建bean
  创建bean
  createBean( beanName... ) : Object
  判断bean的模式
  转换为RootBeanDefinition
  bean的实例化
  createBean( ... ) : Object
  Y
  getBean( beanName ) : Object
  getObjectForBeanInstance(...) : Object
  检测是否到parentBeanFactory父工厂加载bean
  是否存在依赖bean
  原型模式的依赖检查
  寻找bean的依赖
  getMergedLocalBeanDefinition( Str beanName ):RootBeanDefinition
  parentBeanFactory != null && containsBeanDefinition( beanName )
  优先加载依赖的bean
  原型模式
  transformedBeanName( String name )
  转换对应的beanName
  N
  其它scope模式
  3.1-getSingleton( String name )
  加载bean开始
  指定的scope上实例化bean
  3.4-createBean( ... ) : Object
  isPrototypeCurrentlyInCreation( Str name )
  rootBeanDefinition.getDependsOn( Str beanName ) : String[]
  3.2-bean的实例化
  单态模式
   
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
 