Interface BeanRegistry
- All Known Implementing Classes:
BeanRegistryAdapter
public interface BeanRegistry
Used in
BeanRegistrar.register(BeanRegistry, Environment) to expose
programmatic bean registration capabilities.- Since:
- 7.0
- Author:
- Sebastien Deleuze
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceSpecification for customizing a bean.static interfaceContext available from the bean instance supplier designed to give access to bean dependencies. -
Method Summary
Modifier and TypeMethodDescriptionvoidregister(BeanRegistrar registrar) Register beans using the givenBeanRegistrar.voidregisterAlias(String name, String alias) Given a name, register an alias for it.<T> StringregisterBean(Class<T> beanClass) Register a bean from the given class, which will be instantiated using the relatedresolvable constructorif any.<T> StringregisterBean(Class<T> beanClass, Consumer<BeanRegistry.Spec<T>> customizer) Register a bean from the given class, customizing it with the customizer callback.<T> voidregisterBean(String name, Class<T> beanClass) Register a bean from the given class, which will be instantiated using the relatedresolvable constructorif any.<T> voidregisterBean(String name, Class<T> beanClass, Consumer<BeanRegistry.Spec<T>> customizer) Register a bean from the given class, customizing it with the customizer callback.<T> voidregisterBean(String name, ParameterizedTypeReference<T> beanType) Register a bean from the given generics-containing type, which will be instantiated using the relatedresolvable constructorif any.<T> voidregisterBean(String name, ParameterizedTypeReference<T> beanType, Consumer<BeanRegistry.Spec<T>> customizer) Register a bean from the given generics-containing type, customizing it with the customizer callback.<T> StringregisterBean(ParameterizedTypeReference<T> beanType) Register a bean from the given generics-containing type, which will be instantiated using the relatedresolvable constructorif any.<T> StringregisterBean(ParameterizedTypeReference<T> beanType, Consumer<BeanRegistry.Spec<T>> customizer) Register a bean from the given generics-containing type, customizing it with the customizer callback.
-
Method Details
-
register
Register beans using the givenBeanRegistrar.- Parameters:
registrar- the bean registrar that will be called to register additional beans
-
registerAlias
Given a name, register an alias for it.- Parameters:
name- the canonical namealias- the alias to be registered- Throws:
IllegalStateException- if the alias is already in use and may not be overridden
-
registerBean
Register a bean from the given class, which will be instantiated using the relatedresolvable constructorif any.For registering a bean with a generic type, consider
registerBean(ParameterizedTypeReference).- Parameters:
beanClass- the class of the bean- Returns:
- the generated bean name
- See Also:
-
registerBean
Register a bean from the given generics-containing type, which will be instantiated using the relatedresolvable constructorif any.- Parameters:
beanType- the generics-containing type of the bean- Returns:
- the generated bean name
-
registerBean
Register a bean from the given class, customizing it with the customizer callback. The bean will be instantiated using the supplier that can be configured in the customizer callback, or will be tentatively instantiated with itsresolvable constructorotherwise.For registering a bean with a generic type, consider
registerBean(ParameterizedTypeReference, Consumer).- Parameters:
beanClass- the class of the beancustomizer- the callback to customize other bean properties than the name- Returns:
- the generated bean name
-
registerBean
<T> String registerBean(ParameterizedTypeReference<T> beanType, Consumer<BeanRegistry.Spec<T>> customizer) Register a bean from the given generics-containing type, customizing it with the customizer callback. The bean will be instantiated using the supplier that can be configured in the customizer callback, or will be tentatively instantiated with itsresolvable constructorotherwise.- Parameters:
beanType- the generics-containing type of the beancustomizer- the callback to customize other bean properties than the name- Returns:
- the generated bean name
-
registerBean
Register a bean from the given class, which will be instantiated using the relatedresolvable constructorif any.For registering a bean with a generic type, consider
registerBean(String, ParameterizedTypeReference).- Parameters:
name- the name of the beanbeanClass- the class of the bean
-
registerBean
Register a bean from the given generics-containing type, which will be instantiated using the relatedresolvable constructorif any.- Parameters:
name- the name of the beanbeanType- the generics-containing type of the bean
-
registerBean
Register a bean from the given class, customizing it with the customizer callback. The bean will be instantiated using the supplier that can be configured in the customizer callback, or will be tentatively instantiated with itsresolvable constructorotherwise.For registering a bean with a generic type, consider
registerBean(String, ParameterizedTypeReference, Consumer).- Parameters:
name- the name of the beanbeanClass- the class of the beancustomizer- the callback to customize other bean properties than the name
-
registerBean
<T> void registerBean(String name, ParameterizedTypeReference<T> beanType, Consumer<BeanRegistry.Spec<T>> customizer) Register a bean from the given generics-containing type, customizing it with the customizer callback. The bean will be instantiated using the supplier that can be configured in the customizer callback, or will be tentatively instantiated with itsresolvable constructorotherwise.- Parameters:
name- the name of the beanbeanType- the generics-containing type of the beancustomizer- the callback to customize other bean properties than the name
-