青岛软件培训
  • 首页 (current)
  • 培训课程
  • 开班公告
  • 万码励志
  • 技术文章
  • 万码人
  • 行业新闻
  • 培训问答
  • 学习笔记
  • 留言

曹工说Spring Boot源码(2)-- Bean Definition到底是什么,咱们对着接口,逐个方法讲解

2019-12-20 16:59

 

阅读目录

 

  • 回到顶部

    正文

    我这里,先把org.springframework.beans.factory.config.BeanDefinition接口的方法再简单列一下:

    public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement {     // scope:单例     String SCOPE_SINGLETON = ConfigurableBeanFactory.SCOPE_SINGLETON;     // scope:prototype     String SCOPE_PROTOTYPE = ConfigurableBeanFactory.SCOPE_PROTOTYPE;     // 角色:属于应用程序的bean     int ROLE_APPLICATION = 0;     // 角色:支持?不甚了解,先跳过     int ROLE_SUPPORT = 1;     // 角色:属于框架自身的bean     int ROLE_INFRASTRUCTURE = 2;     // parent bean的名字     String getParentName();          void setParentName(String parentName);     // 核心属性,此为bean的class名称     String getBeanClassName();      void setBeanClassName(String beanClassName);     // 核心属性,本属性获取工厂bean的名称,getFactoryMethodName获取工厂方法的名称,配合使用,生成         // 本bean     String getFactoryBeanName();      void setFactoryBeanName(String factoryBeanName);      String getFactoryMethodName();      void setFactoryMethodName(String factoryMethodName);     //scope,bean是单例的,还是每次new一个(prototype),就靠它了     String getScope();      void setScope(String scope);     // 懒bean?默认情况下,都是容器启动时,初始化;如果设置了这个值,容器启动时不会初始化,首次getBean    // 时才初始化     boolean isLazyInit();      void setLazyInit(boolean lazyInit);     // 在本bean初始化之前,需要先初始化的bean;注意,这里不是说本bean依赖的其他需要注入的bean     String[] getDependsOn();      void setDependsOn(String[] dependsOn);     // 是否够资格作为自动注入的候选bean。。。如果这里返回false,那就连自动注入的资格都没得     boolean isAutowireCandidate();      void setAutowireCandidate(boolean autowireCandidate);     // 当作为依赖,要注入给某个bean时,当有多个候选bean时,本bean是否为头号选手     boolean isPrimary();      void setPrimary(boolean primary);          // 通过xml <bean>方式定义bean时,通过<constructor-arg>来定义构造器的参数,这里即:获取构造器参数     ConstructorArgumentValues getConstructorArgumentValues();          // 通过xml <bean>方式定义bean时,通过 <property name="testService" ref="testService"/> 这种方     式来注入依赖,这里即:获取property注入的参
                

青岛软件培训

选择一家好的青岛软件培训学校,就要看教学质量和口碑

万码学堂-做最负责任的教育-联系电话0532-85025005

鲁ICP备09077726号-3