|
|
|
@ -207,7 +207,7 @@ public class BeanRegistryAdapterTests { |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
void customTargetTypeFromResolvableType() { |
|
|
|
void customTargetTypeFromResolvableType() { |
|
|
|
BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, TargetTypeBeanRegistrar.class); |
|
|
|
BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, env, TargetTypeBeanRegistrar.class); |
|
|
|
new TargetTypeBeanRegistrar().register(adapter, env); |
|
|
|
new TargetTypeBeanRegistrar().register(adapter, env); |
|
|
|
RootBeanDefinition beanDefinition = (RootBeanDefinition)this.beanFactory.getBeanDefinition("fooSupplierFromResolvableType"); |
|
|
|
RootBeanDefinition beanDefinition = (RootBeanDefinition)this.beanFactory.getBeanDefinition("fooSupplierFromResolvableType"); |
|
|
|
assertThat(beanDefinition.getResolvableType().resolveGeneric(0)).isEqualTo(Foo.class); |
|
|
|
assertThat(beanDefinition.getResolvableType().resolveGeneric(0)).isEqualTo(Foo.class); |
|
|
|
@ -215,7 +215,7 @@ public class BeanRegistryAdapterTests { |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
void customTargetTypeFromTypeReference() { |
|
|
|
void customTargetTypeFromTypeReference() { |
|
|
|
BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, TargetTypeBeanRegistrar.class); |
|
|
|
BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, env, TargetTypeBeanRegistrar.class); |
|
|
|
new TargetTypeBeanRegistrar().register(adapter, env); |
|
|
|
new TargetTypeBeanRegistrar().register(adapter, env); |
|
|
|
RootBeanDefinition beanDefinition = (RootBeanDefinition)this.beanFactory.getBeanDefinition("fooSupplierFromTypeReference"); |
|
|
|
RootBeanDefinition beanDefinition = (RootBeanDefinition)this.beanFactory.getBeanDefinition("fooSupplierFromTypeReference"); |
|
|
|
assertThat(beanDefinition.getResolvableType().resolveGeneric(0)).isEqualTo(Foo.class); |
|
|
|
assertThat(beanDefinition.getResolvableType().resolveGeneric(0)).isEqualTo(Foo.class); |
|
|
|
@ -223,13 +223,20 @@ public class BeanRegistryAdapterTests { |
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
@Test |
|
|
|
void registerViaAnotherRegistrar() { |
|
|
|
void registerViaAnotherRegistrar() { |
|
|
|
BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, this.env, DefaultBeanRegistrar.class); |
|
|
|
BeanRegistryAdapter adapter = new BeanRegistryAdapter(this.beanFactory, this.beanFactory, this.env, ChainedBeanRegistrar.class); |
|
|
|
BeanRegistrar registrar = (registry, env) -> registry.register(new DefaultBeanRegistrar()); |
|
|
|
new ChainedBeanRegistrar().register(adapter, env); |
|
|
|
registrar.register(adapter, env); |
|
|
|
|
|
|
|
assertThat(this.beanFactory.getBeanDefinition("foo")).isNotNull(); |
|
|
|
assertThat(this.beanFactory.getBeanDefinition("foo")).isNotNull(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static class ChainedBeanRegistrar implements BeanRegistrar { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void register(BeanRegistry registry, Environment env) { |
|
|
|
|
|
|
|
registry.register(new DefaultBeanRegistrar()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private static class DefaultBeanRegistrar implements BeanRegistrar { |
|
|
|
private static class DefaultBeanRegistrar implements BeanRegistrar { |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
|