Spring Data REST的RepositoryRestMvcConfiguration
类具有方法enumTranslator()
:
@Bean
public EnumTranslator enumTranslator() {
return new EnumTranslator(resourceDescriptionMessageSourceAccessor());
}
(我期望)注册了一个“ enumTranslator” Bean。
但是,当我尝试在组件中使用它时,它不会被注入,并且总是
null
:@Component
public class MyComponent {
private final EnumTranslator enumTranslator;
public MyComponent(EnumTranslator enumTranslator) {
this.enumTranslator = enumTranslator;
}
public void someMethod() {
// enumTranslator -> null
}
}
有人可以解释为什么会发生这种情况,以及如何正确注入这种豆吗?
更新
我想通了-我试图实现一个不受Spring管理的类(Spring转换器))
谢谢所有试图帮助我的人!
最佳答案
看来RepositoryRestMvcConfiguration
bean尚未加载到Spring容器中。
例如,尝试使用@Import(RepositoryRestMvcConfiguration.class)
从Configuration
类导入它。
根据documentation:
2.4配置Spring Data REST
...
您可以将此类导入到现有配置中
使用@Import批注,或者您可以将其子类化并覆盖任何
configureXXX方法可将您自己的配置添加到
Spring Data REST。