Closed
Description
Hans Desmet opened SPR-14832 and commented
Add a registerBean method to ApplicationContext which accepts a lambda with which you register as bean.
The following code uses this method to register a bean of a class A and to register a
bean of class B which has a dependency on class A
@Configuration
public class MyConfiguration
private final ApplicationContext context;
public MyConfiguration(ApplicationContext context) {
this.context = context;
context.registerBean(AClass.class -> new AClass());
context.registerBean(BClass.class -> new BClass(context.getBean(AClass.class));
}
Affects: 5.0 M2
Issue Links:
- Programmatic bean registration with configuration classes #18353 Programmatic bean registration within configuration classes ("is depended on by")
- Parallel bean initialization during startup [SPR-8767] #13410 Parallel bean initialization during startup
- ResolvableType should support resolving lambda types [SPR-13698] #18273 ResolvableType should support resolving lambda types
- @Configuration interface with Java 8 default methods (as a standalone artifact) [SPR-14220] #18794
@Configuration
interface with Java 8 default methods (as a standalone artifact) - Kotlin extension for GenericApplicationContext with registerBean(KClass) variants [SPR-15048] #19614 Kotlin extension for GenericApplicationContext with registerBean(KClass) variants
- Document functional configuration style [SPR-15049] #19615 Document functional configuration style
- Provide registerBean variants based on ResolvableType [SPR-15197] #18463 Provide registerBean variants based on ResolvableType
- Functional bean dependencies tracking [SPR-15417] #19979 Functional bean dependencies tracking
- Provide computeIfAbsent-like method on ObjectProvider [SPR-14980] #19546 Provide computeIfAbsent-like method on ObjectProvider
1 votes, 8 watchers