|
27 | 27 |
|
28 | 28 | import org.apache.commons.logging.Log;
|
29 | 29 | import org.apache.commons.logging.LogFactory;
|
| 30 | +import org.springframework.beans.factory.FactoryBean; |
30 | 31 | import org.springframework.beans.factory.config.BeanDefinition;
|
31 | 32 | import org.springframework.beans.factory.support.AbstractBeanDefinition;
|
32 | 33 | import org.springframework.beans.factory.support.BeanDefinitionBuilder;
|
@@ -115,9 +116,30 @@ public void registerBeansForRoot(BeanDefinitionRegistry registry,
|
115 | 116 | RepositoryConfigurationSource configurationSource) {
|
116 | 117 |
|
117 | 118 | // A proxy RepositoryMethodContext for dependency injection
|
| 119 | +// registerIfNotAlreadyRegistered( |
| 120 | +// () -> new RootBeanDefinition(RepositoryMethodContext.class, DefaultRepositoryMethodContext::getInjectionProxy), |
| 121 | +// registry, "repositoryMethodContextFactory", configurationSource); |
| 122 | + |
118 | 123 | registerIfNotAlreadyRegistered(
|
119 |
| - () -> new RootBeanDefinition(RepositoryMethodContext.class, DefaultRepositoryMethodContext::getInjectionProxy), |
120 |
| - registry, "repositoryMethodContextFactory", configurationSource); |
| 124 | + () -> new RootBeanDefinition(RepositoryMethodContextFactoryBean.class), |
| 125 | + registry, "repositoryMethodContextFactory", configurationSource); |
| 126 | + } |
| 127 | + |
| 128 | + static class RepositoryMethodContextFactoryBean implements FactoryBean<RepositoryMethodContext> { |
| 129 | + |
| 130 | + @Nullable |
| 131 | + @Override |
| 132 | + public RepositoryMethodContext getObject() throws Exception { |
| 133 | + return DefaultRepositoryMethodContext.getInjectionProxy(); |
| 134 | + } |
| 135 | + |
| 136 | + @Nullable |
| 137 | + @Override |
| 138 | + public Class<?> getObjectType() { |
| 139 | + return RepositoryMethodContext.class; |
| 140 | + } |
| 141 | + |
| 142 | + |
121 | 143 | }
|
122 | 144 |
|
123 | 145 | /**
|
|
0 commit comments