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

SSM框架源码剖析学习笔记:Bean的创建

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

SSM框架源码剖析学习笔记:Bean的创建

文章目录
  • Bean的注册
    • 如何理解容器
  • Bean的生命周期
    • invokeInitMethods

Bean的注册

Bean的注册方式主要有两种:配置文件和注解,这两种方式的本质都是提供Bean的基本信息,最终实现BeanDefinition接口通过反射来创建Bean实例,这两种方式分别通过解析字符串和创建docment对象来提供Bean的基本信息。

xml文件中的${}占位符时通过BeanFactoryProcessor的实现子类PlaceHolderConfigurationSupport来解析的,BeanDefinition是不解析的。

如何理解容器

BeanFactory是容器的顶级接口,我们通常用到的对象是DefaultListableBeanFactory。

Bean的生命周期
  1. 实例化

  2. 属性赋值
    a.用户自定义属性赋值(比如说什么name、age)
    b.通过AWare接口(标记接口)的实现子类来对容器对象进行赋值

  3. 拓展实现
    a.执行前置处理方法
    b.执行初始化方法(invokeInitMethods)
    c.执行后置处理方法

  4. 使用对象

  5. 销毁对象

invokeInitMethods

首先判断是否实现了InitializingBean接口,如果实现就调用bean的afterPropertiesSet方法,给用户干预Bean创建留出来一个接口。如果没有就直接执行invokeInitMethods。

AOP是IOC的扩展实现:AOP主要是通过动态代理来实现的,具体方法有jdk和cjlib。在执行完第二步属性赋值之后,我们得到了一个bean对象,通过传入BeanPostProcessor的子接口生成代理对象实现AOP。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/283993.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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