容器和Bean的创建
2022-10-21 17:24:58   0  举报             
     
         
 spring容器和Bean的创建
    作者其他创作
 大纲/内容
 如何获取容器对象
  容器
  set方法
    AppilacationContext
  初始化
  使用
  容器对象
  根据配置文件进行加载
  调用aware接口方法
  实例化
  BeanfactoryPostProcessor
  Container
  BeandifinitionReader
  逻辑路线,过于简单不便于扩展
  BeanFactory
  after
  循环执行,非链式操作
  将配置文件进行整合
  调用初始化方法,完成额外的扩展
  spring容器中含有几种对象?
  不会根据配置文件对应的数据值进行替换对象值
  针对Bean处理
  AOP
  用户自定义对象
  针对BeanFactory处理
  抽象给出一个固定的接口,不同子类去实现即可
  反射
  注解
  aop
  对象
  帮助调用set方法进行赋值
  封装成BeanDefinition对象
  PostProcesser
  bean的生命周期
  类名.class
  xml
  jdk
  new反射
  增强器
  创建对象
  IOC
  BeanPostProcessor
  填充属性
  动态代理
  扩展
  properties
  class.forname
  注解@Bean
  对象.getClass
  等同于容器
  xml配置文件封装的对象信息
  可扩展性,循环执行,非链式操作
  yaml
  BeanFactoryPostProcessor
  调用iinit方法
  对象的创建使用和销毁都由容器来帮我们控制
  完整对象
  后置处理器
  BeanDefinitionbean的定义信息
  完整对象,可以直接使用
  销毁过程
  容器和对象的创建流程:1、先创建容器2、加载配置文件,封装成BeanDifinition3、调用BeanFactoryPOSTProcessor准备工作:   准备beanPostProcessor   准备监听器,事件,广播器4、实例化5、初始化6、获取完整对象
  在堆空间开启空间,属性都是默认值
  beanPostProcessor
  解析
  Construtor ctor=clazz.getDeclareConstructor();Object obj=ctor.newinstance();
  基石
  负责将值进行替换
  cglib
  before
     收藏 
     
 
 
 
 
  0 条评论
 下一页