• 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太死了。

  • 相关阅读:
    2015-05-28
    QQ项目随笔-15-05-19
    QQ聊天窗口布局笔记-15-05-17
    QQ聊天cell-15-05-16
    关于自定义cell——15-05-13
    关于MVC中德一些注意事项-15-05-11
    关于UITableView的若干方法-15-05-07
    UIAlertView(弹窗)的若干方法15-05-07
    •UIButton快捷获取属性值
    ES6(简)
  • 原文地址:https://www.cnblogs.com/fuckingPangzi/p/15746041.html
Copyright © 2020-2023  润新知