|
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