public interface

BeanDefinitionRegistry

implements AliasRegistry
org.springframework.beans.factory.support.BeanDefinitionRegistry
Known Indirect Subclasses

Class Overview

Interface for registries that hold bean definitions, for example RootBeanDefinition and ChildBeanDefinition instances. Typically implemented by BeanFactories that internally work with the AbstractBeanDefinition hierarchy.

This is the only interface in Spring's bean factory packages that encapsulates registration of bean definitions. The standard BeanFactory interfaces only cover access to a fully configured factory instance.

Spring's bean definition readers expect to work on an implementation of this interface. Known implementors within the Spring core are DefaultListableBeanFactory and GenericApplicationContext.

Summary

Public Methods
abstract boolean containsBeanDefinition(String beanName)
Check if this registry contains a bean definition with the given name.
abstract BeanDefinition getBeanDefinition(String beanName)
Return the BeanDefinition for the given bean name.
abstract int getBeanDefinitionCount()
Return the number of beans defined in the registry.
abstract String[] getBeanDefinitionNames()
Return the names of all beans defined in this registry.
abstract boolean isBeanNameInUse(String beanName)
Determine whether the given bean name is already in use within this registry, i.e.
abstract void registerBeanDefinition(String beanName, BeanDefinition beanDefinition)
Register a new bean definition with this registry.
abstract void removeBeanDefinition(String beanName)
Remove the BeanDefinition for the given name.
[Expand]
Inherited Methods
From interface org.springframework.core.AliasRegistry

Public Methods

public abstract boolean containsBeanDefinition (String beanName)

Also: SpringBeans

Check if this registry contains a bean definition with the given name.

Parameters
beanName the name of the bean to look for
Returns
  • if this registry contains a bean definition with the given name

public abstract BeanDefinition getBeanDefinition (String beanName)

Also: SpringBeans

Return the BeanDefinition for the given bean name.

Parameters
beanName name of the bean to find a definition for
Returns
  • the BeanDefinition for the given name (never null)
Throws
NoSuchBeanDefinitionException if there is no such bean definition

public abstract int getBeanDefinitionCount ()

Also: SpringBeans

Return the number of beans defined in the registry.

Returns
  • the number of beans defined in the registry

public abstract String[] getBeanDefinitionNames ()

Also: SpringBeans

Return the names of all beans defined in this registry.

Returns
  • the names of all beans defined in this registry, or an empty array if none defined

public abstract boolean isBeanNameInUse (String beanName)

Also: SpringBeans

Determine whether the given bean name is already in use within this registry, i.e. whether there is a local bean or alias registered under this name.

Parameters
beanName the name to check
Returns
  • whether the given bean name is already in use

public abstract void registerBeanDefinition (String beanName, BeanDefinition beanDefinition)

Also: SpringBeans

Register a new bean definition with this registry. Must support RootBeanDefinition and ChildBeanDefinition.

Parameters
beanName the name of the bean instance to register
beanDefinition definition of the bean instance to register
Throws
BeanDefinitionStoreException if the BeanDefinition is invalid or if there is already a BeanDefinition for the specified bean name (and we are not allowed to override it)

public abstract void removeBeanDefinition (String beanName)

Also: SpringBeans

Remove the BeanDefinition for the given name.

Parameters
beanName the name of the bean instance to register
Throws
NoSuchBeanDefinitionException if there is no such bean definition