未注入EnumTranslator bean(为null)

时间:2017-11-13 17:07:33

标签: java spring spring-data-rest inject

RepositoryRestMvcConfiguration Spring Data REST 类有方法enumTranslator()

@Bean
public EnumTranslator enumTranslator() {
  return new EnumTranslator(resourceDescriptionMessageSourceAccessor());
}

(我希望)注册' enumTranslator '豆。

但是当我尝试在我的组件中使用它时,它不会被注入并始终是null

@Component
public class MyComponent {

    private final EnumTranslator enumTranslator; 

    public MyComponent(EnumTranslator enumTranslator) {
        this.enumTranslator = enumTranslator;
    }

    public void someMethod() {             
        // enumTranslator -> null
    }
}

有人可以解释为什么会发生这种情况以及如何纠正注入此类豆类?

更新

我已经想通了 - 我试图实现一个不受Spring管理的类(Spring转换器)))

感谢所有试图帮助我的人!

1 个答案:

答案 0 :(得分:1)

看起来RepositoryRestMvcConfiguration bean没有加载到Spring容器中 例如,尝试从@Import(RepositoryRestMvcConfiguration.class)类中使用Configuration导入它。

根据documentation

  

2.4配置Spring Data REST

     

...

     

您可以将此类导入现有配置   使用@Import注释,或者您可以将其子类化并覆盖任何注释   configureXXX方法将您自己的配置添加到   Spring Data REST。

相关问题