美文网首页
spring Bean介绍

spring Bean介绍

作者: 不存在的里皮 | 来源:发表于2019-05-23 00:14 被阅读0次

    前言

    偶然看到BeanDefinition类后,我思索spring解析<bean>标签后生成了什么类的对象?它是怎么做到钩子函数的,是回调函数,还是用了动态代理机制?BeanDefinition和@Bean有什么关系吗?

    什么是Bean

    Bean 定义

    • Bean的定义。bean 定义包含称为配置元数据的信息,下述容器也需要知道配置元数据:
      • 如何创建一个 bean
      • bean 的生命周期的详细信息
      • bean 的依赖关系
    • Spring 配置元数据的三种方法:
      1. 基于 XML 的配置文件。
      2. 基于注解的配置
      3. 基于 Java 的配置

    Bean的生命周期

    JAVA面试题:Spring中bean的生命周期

    1. 实例化
    2. 设置属性。Setter注入。
    3. 各种Aware接口调用
    4. BeanPostProcessor.postProcessBeforeInitialization
    5. InitializingBean.afterProPertiesSet
    6. init-method(如果有设置)
    7. BeanPostProcessor.postProcessAfterInitialization

    然后Bean可以正常使用。


    容器关闭时

    1. DisposableBean.destroy
    2. destroy-method(如果有配置)

    Spring循环依赖检查

    Spring循环依赖检查

    内部Bean级联 inter-bean-dependencies

    • @Configuration内,spring会自动处理Bean级联问题。
    • @Component等其它注解内,spring只会把Bean方法当做普通工厂方法对待
      查阅springBean内部级联来进一步了解这一点。

    单例Bean与原型Bean的相互引用

    ...

    相关文章

      网友评论

          本文标题:spring Bean介绍

          本文链接:https://www.haomeiwen.com/subject/xoojzqtx.html