zoukankan      html  css  js  c++  java
  • 1、什么是BeanDefinition

    答:BeanDefinition是Spring里面的最小化接口,允许Spring通过BeanPostProcessor后置处理器去修改属性值和其他bean的元数据等。

    Spring是通过BeanDefinition的实现类去创建Bean对象,官方推荐,默认使用的是GenericBeanDefinition。

    其里面核心的属性有:beanClassName类的路径名称,scope作用域,abstract是否抽象类,factoryBeanName、factoryMethodName工厂bean,创建本bean的方法

    String[] dependsOn,本bean所依赖bean的beanName数组,primary(boolean),当有好几个bean被一个bean依赖注入,本bean是头号种子选手,当AutowiredCandidate(boolean)

    false的话就是没有资格被别人注入。ConstructorAgumentValues,和MutablePropertyValues,一个是构造器注入, 另外一个是set方法注入。

    延伸:

    BeanDefinition是一个最小化的接口,非抽象的实现类有三个

    RootBeanDefinition、ChildBeanDefinition、GenericBeanDefinition

    RootBeanDefinition 跟@Configuration注解有关

    ChildBeanDefinition 从2.5以后就被GenericBeanDefinition给替代了

    是因为GenericBeanDefinition可以动态去设置parentName属性,预先定义parent/child太死了。

  • 相关阅读:
    2020 浏览器市场份额
    Web高级 JavaScript中的算法
    Web高级 JavaScript中的数据结构
    JavaScript 集合对象
    Web高级 网站安全
    Web高级 HTTP报文
    Web高级 Eventloop和事件执行顺序
    Web高级 Ajax和跨域CORS
    javaScript 继承
    JavaScript 事件基础
  • 原文地址:https://www.cnblogs.com/fuckingPangzi/p/15746041.html
Copyright © 2011-2022 走看看