org.springframework.beans.factory.config

Interface BeanDefinition

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static int ROLE_APPLICATION
      Role hint indicating that a BeanDefinition is a major part of the application.
      static int ROLE_INFRASTRUCTURE
      Role hint indicating that a BeanDefinition is providing an entirely background role and has no relevance to the end-user.
      static int ROLE_SUPPORT
      Role hint indicating that a BeanDefinition is a supporting part of some larger configuration, typically an outer ComponentDefinition.
      static java.lang.String SCOPE_PROTOTYPE
      Scope identifier for the standard prototype scope: "prototype".
      static java.lang.String SCOPE_SINGLETON
      Scope identifier for the standard singleton scope: "singleton".
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method and Description
      java.lang.String getBeanClassName()
      Return the current bean class name of this bean definition.
      ConstructorArgumentValues getConstructorArgumentValues()
      Return the constructor argument values for this bean.
      java.lang.String[] getDependsOn()
      Return the bean names that this bean depends on.
      java.lang.String getDescription()
      Return a human-readable description of this bean definition.
      java.lang.String getDestroyMethodName()
      Return the name of the destroy method.
      java.lang.String getFactoryBeanName()
      Return the factory bean name, if any.
      java.lang.String getFactoryMethodName()
      Return a factory method, if any.
      java.lang.String getInitMethodName()
      Return the name of the initializer method.
      BeanDefinition getOriginatingBeanDefinition()
      Return the originating BeanDefinition, or null if none.
      java.lang.String getParentName()
      Return the name of the parent definition of this bean definition, if any.
      MutablePropertyValues getPropertyValues()
      Return the property values to be applied to a new instance of the bean.
      java.lang.String getResourceDescription()
      Return a description of the resource that this bean definition came from (for the purpose of showing context in case of errors).
      int getRole()
      Get the role hint for this BeanDefinition.
      java.lang.String getScope()
      Return the name of the current target scope for this bean, or null if not known yet.
      default boolean hasConstructorArgumentValues()
      Return if there are constructor argument values defined for this bean.
      default boolean hasPropertyValues()
      Return if there are property values values defined for this bean.
      boolean isAbstract()
      Return whether this bean is "abstract", that is, not meant to be instantiated.
      boolean isAutowireCandidate()
      Return whether this bean is a candidate for getting autowired into some other bean.
      boolean isLazyInit()
      Return whether this bean should be lazily initialized, i.e.
      boolean isPrimary()
      Return whether this bean is a primary autowire candidate.
      boolean isPrototype()
      Return whether this a Prototype, with an independent instance returned for each call.
      boolean isSingleton()
      Return whether this a Singleton, with a single, shared instance returned on all calls.
      void setAutowireCandidate(boolean autowireCandidate)
      Set whether this bean is a candidate for getting autowired into some other bean.
      void setBeanClassName(java.lang.String beanClassName)
      Specify the bean class name of this bean definition.
      void setDependsOn(java.lang.String... dependsOn)
      Set the names of the beans that this bean depends on being initialized.
      void setDescription(java.lang.String description)
      Set a human-readable description of this bean definition.
      void setDestroyMethodName(java.lang.String destroyMethodName)
      Set the name of the destroy method.
      void setFactoryBeanName(java.lang.String factoryBeanName)
      Specify the factory bean to use, if any.
      void setFactoryMethodName(java.lang.String factoryMethodName)
      Specify a factory method, if any.
      void setInitMethodName(java.lang.String initMethodName)
      Set the name of the initializer method.
      void setLazyInit(boolean lazyInit)
      Set whether this bean should be lazily initialized.
      void setParentName(java.lang.String parentName)
      Set the name of the parent definition of this bean definition, if any.
      void setPrimary(boolean primary)
      Set whether this bean is a primary autowire candidate.
      void setRole(int role)
      Set the role hint for this BeanDefinition.
      void setScope(java.lang.String scope)
      Override the target scope of this bean, specifying a new scope name.
    • Field Detail

      • SCOPE_SINGLETON

        static final java.lang.String SCOPE_SINGLETON
        Scope identifier for the standard singleton scope: "singleton".

        Note that extended bean factories might support further scopes.

        See Also:
        setScope(java.lang.String), Constant Field Values
      • SCOPE_PROTOTYPE

        static final java.lang.String SCOPE_PROTOTYPE
        Scope identifier for the standard prototype scope: "prototype".

        Note that extended bean factories might support further scopes.

        See Also:
        setScope(java.lang.String), Constant Field Values
      • ROLE_APPLICATION

        static final int ROLE_APPLICATION
        Role hint indicating that a BeanDefinition is a major part of the application. Typically corresponds to a user-defined bean.
        See Also:
        Constant Field Values
      • ROLE_SUPPORT

        static final int ROLE_SUPPORT
        Role hint indicating that a BeanDefinition is a supporting part of some larger configuration, typically an outer ComponentDefinition. SUPPORT beans are considered important enough to be aware of when looking more closely at a particular ComponentDefinition, but not when looking at the overall configuration of an application.
        See Also:
        Constant Field Values
      • ROLE_INFRASTRUCTURE

        static final int ROLE_INFRASTRUCTURE
        Role hint indicating that a BeanDefinition is providing an entirely background role and has no relevance to the end-user. This hint is used when registering beans that are completely part of the internal workings of a ComponentDefinition.
        See Also:
        Constant Field Values
    • Method Detail

      • setParentName

        void setParentName(@Nullable
                           java.lang.String parentName)
        Set the name of the parent definition of this bean definition, if any.
      • getParentName

        @Nullable
        java.lang.String getParentName()
        Return the name of the parent definition of this bean definition, if any.
      • getBeanClassName

        @Nullable
        java.lang.String getBeanClassName()
        Return the current bean class name of this bean definition.

        Note that this does not have to be the actual class name used at runtime, in case of a child definition overriding/inheriting the class name from its parent. Also, this may just be the class that a factory method is called on, or it may even be empty in case of a factory bean reference that a method is called on. Hence, do not consider this to be the definitive bean type at runtime but rather only use it for parsing purposes at the individual bean definition level.

        See Also:
        getParentName(), getFactoryBeanName(), getFactoryMethodName()
      • getScope

        @Nullable
        java.lang.String getScope()
        Return the name of the current target scope for this bean, or null if not known yet.
      • setLazyInit

        void setLazyInit(boolean lazyInit)
        Set whether this bean should be lazily initialized.

        If false, the bean will get instantiated on startup by bean factories that perform eager initialization of singletons.

      • isLazyInit

        boolean isLazyInit()
        Return whether this bean should be lazily initialized, i.e. not eagerly instantiated on startup. Only applicable to a singleton bean.
      • setDependsOn

        void setDependsOn(@Nullable
                          java.lang.String... dependsOn)
        Set the names of the beans that this bean depends on being initialized. The bean factory will guarantee that these beans get initialized first.
      • getDependsOn

        @Nullable
        java.lang.String[] getDependsOn()
        Return the bean names that this bean depends on.
      • setAutowireCandidate

        void setAutowireCandidate(boolean autowireCandidate)
        Set whether this bean is a candidate for getting autowired into some other bean.

        Note that this flag is designed to only affect type-based autowiring. It does not affect explicit references by name, which will get resolved even if the specified bean is not marked as an autowire candidate. As a consequence, autowiring by name will nevertheless inject a bean if the name matches.

      • isAutowireCandidate

        boolean isAutowireCandidate()
        Return whether this bean is a candidate for getting autowired into some other bean.
      • setPrimary

        void setPrimary(boolean primary)
        Set whether this bean is a primary autowire candidate.

        If this value is true for exactly one bean among multiple matching candidates, it will serve as a tie-breaker.

      • isPrimary

        boolean isPrimary()
        Return whether this bean is a primary autowire candidate.
      • setFactoryBeanName

        void setFactoryBeanName(@Nullable
                                java.lang.String factoryBeanName)
        Specify the factory bean to use, if any. This the name of the bean to call the specified factory method on.
        See Also:
        setFactoryMethodName(java.lang.String)
      • getFactoryBeanName

        @Nullable
        java.lang.String getFactoryBeanName()
        Return the factory bean name, if any.
      • setFactoryMethodName

        void setFactoryMethodName(@Nullable
                                  java.lang.String factoryMethodName)
        Specify a factory method, if any. This method will be invoked with constructor arguments, or with no arguments if none are specified. The method will be invoked on the specified factory bean, if any, or otherwise as a static method on the local bean class.
        See Also:
        setFactoryBeanName(java.lang.String), setBeanClassName(java.lang.String)
      • getFactoryMethodName

        @Nullable
        java.lang.String getFactoryMethodName()
        Return a factory method, if any.
      • getConstructorArgumentValues

        ConstructorArgumentValues getConstructorArgumentValues()
        Return the constructor argument values for this bean.

        The returned instance can be modified during bean factory post-processing.

        Returns:
        the ConstructorArgumentValues object (never null)
      • hasConstructorArgumentValues

        default boolean hasConstructorArgumentValues()
        Return if there are constructor argument values defined for this bean.
        Since:
        5.0.2
      • getPropertyValues

        MutablePropertyValues getPropertyValues()
        Return the property values to be applied to a new instance of the bean.

        The returned instance can be modified during bean factory post-processing.

        Returns:
        the MutablePropertyValues object (never null)
      • hasPropertyValues

        default boolean hasPropertyValues()
        Return if there are property values values defined for this bean.
        Since:
        5.0.2
      • setInitMethodName

        void setInitMethodName(@Nullable
                               java.lang.String initMethodName)
        Set the name of the initializer method.
        Since:
        5.1
      • getInitMethodName

        @Nullable
        java.lang.String getInitMethodName()
        Return the name of the initializer method.
        Since:
        5.1
      • setDestroyMethodName

        void setDestroyMethodName(@Nullable
                                  java.lang.String destroyMethodName)
        Set the name of the destroy method.
        Since:
        5.1
      • getDestroyMethodName

        @Nullable
        java.lang.String getDestroyMethodName()
        Return the name of the destroy method.
        Since:
        5.1
      • setRole

        void setRole(int role)
        Set the role hint for this BeanDefinition. The role hint provides the frameworks as well as tools with an indication of the role and importance of a particular BeanDefinition.
        Since:
        5.1
        See Also:
        ROLE_APPLICATION, ROLE_SUPPORT, ROLE_INFRASTRUCTURE
      • getRole

        int getRole()
        Get the role hint for this BeanDefinition. The role hint provides the frameworks as well as tools with an indication of the role and importance of a particular BeanDefinition.
        See Also:
        ROLE_APPLICATION, ROLE_SUPPORT, ROLE_INFRASTRUCTURE
      • setDescription

        void setDescription(@Nullable
                            java.lang.String description)
        Set a human-readable description of this bean definition.
        Since:
        5.1
      • getDescription

        @Nullable
        java.lang.String getDescription()
        Return a human-readable description of this bean definition.
      • isSingleton

        boolean isSingleton()
        Return whether this a Singleton, with a single, shared instance returned on all calls.
        See Also:
        SCOPE_SINGLETON
      • isPrototype

        boolean isPrototype()
        Return whether this a Prototype, with an independent instance returned for each call.
        Since:
        3.0
        See Also:
        SCOPE_PROTOTYPE
      • isAbstract

        boolean isAbstract()
        Return whether this bean is "abstract", that is, not meant to be instantiated.
      • getResourceDescription

        @Nullable
        java.lang.String getResourceDescription()
        Return a description of the resource that this bean definition came from (for the purpose of showing context in case of errors).
      • getOriginatingBeanDefinition

        @Nullable
        BeanDefinition getOriginatingBeanDefinition()
        Return the originating BeanDefinition, or null if none. Allows for retrieving the decorated bean definition, if any.

        Note that this method returns the immediate originator. Iterate through the originator chain to find the original BeanDefinition as defined by the user.