zoukankan      html  css  js  c++  java
  • RootBeanDefinition与GenericBeanDefinition (转)

    GenericBeanDefinition : 通用的bean实现,自2.5以后新加入的bean文件配置属性定义类,是ChildBeanDefinition和RootBeanDefinition更好的替代者。

    AnnotatedGenericBeanDefinition:存储@Configuration注解注释的类

    ScannedGenericBeanDefinition:存储@Component、@Service、@Controller等注解注释的类

    spring初始化时,会用GenericBeanDefinition或是ConfigurationClassBeanDefinition(用@Bean注解注释的类)存储用户自定义的Bean,在初始化Bean时,又会将其转换为RootBeanDefinition。

    GenericBeanDefinition的patentName属性指定了当前类的父类,最重要的是它实现了parentName属性的setter、getter函数,RootBeanDefinition没有parentName属性,对应的getter函数只是返回null,setter函数不提供赋值操作

    也就是说RootBeanDefinition不提供继承相关的操作,但是初始化时使用的是RootBeanDefinition,那父类的性质如何体现?

    这里要注意一点,子类会覆盖父类中相同的属性,所以Spring会首先初始化父类的RootBeanDefinition,然后根据子类的GenericBeanDefinition覆盖父类中相应的属性,最终获得子类的RootBeanDefinition,这个比较巧妙,不需要使用两个对象来体现父类与子类的关系,以后自己写代码时可以借鉴一下

    转载:https://blog.csdn.net/dhaiuda/article/details/83311495

  • 相关阅读:
    【转】ArcGIS 合并要素 Union Dissolve Append Merge
    Linux命令行下编辑常用快捷键
    rpm aid用法
    SUSE 吉祥物图片
    F9初装体验
    openSUSE10、SUSE EVAL10和SUSE10的区别[翻译]
    装有Linux DIY牛人百元人民币昂贵甜头液晶一体机
    SUSE10.3恢复GRUB体例
    64位Fedora还挑CPU
    Ubuntu8.04安置XCrysDen
  • 原文地址:https://www.cnblogs.com/chwy/p/13514589.html
Copyright © 2011-2022 走看看