1
我目前正在測試spring data rest,並且我想通過REST接口公開我的實體的主鍵(id)。 (?)Spring bean GeoModule bean注入到RepositoryRestMvcConfiguration
我已經找到了正確的方式做,這就是:
public class IdExporterConfiguration extends RepositoryRestMvcConfiguration {
@Override
protected void configureRepositoryRestConfiguration(
RepositoryRestConfiguration config) {
super.configureRepositoryRestConfiguration(config);
config.exposeIdsFor(User.class);
}
}
的問題是,如果我在我的bean的定義改成這樣:
<bean class="test.project.util.IdExporterConfiguration"/>
從這個:
<bean class="org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration"/>
我的應用程序無法啓動......
錯誤是:
Could not autowire field: org.springframework.data.geo.GeoModule org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration.geoModule;
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.data.geo.GeoModule] found for dependency:
expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
基本上它說,它沒有找到一個GeoModule豆,所以它不能自動裝配它的RepositoryRestMvcConfiguration基地......
現在最有趣的部分是,是我定義bean:
<bean class="org.springframework.data.geo.GeoModule"/>
錯誤更改爲:
Could not autowire field: org.springframework.data.geo.GeoModule org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration.geoModule;
nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [org.springframework.data.geo.GeoModule] is defined:
expected single matching bean but found 2: jacksonGeoModule,org.springframework.data.geo.GeoModule#0
所以如果我沒有定義一個bean,那麼有0,但是如果我定義了一個,那麼有2個?
對我來說,即使使用** @ Configuration **註釋,它也不起作用。 – 2015-03-22 17:32:36
我問了這個問題已經有一段時間了,所以我完全不記得解決方案。 你有任何XML配置(子類或原始?) – SzaboAdam 2015-03-23 18:17:00