我对Spring Data Rest实现(版本2.5.2.RELEASE)有奇怪的行为。Spring Data Rest:ResourceProcessor配置不能正常工作
我正在尝试注册@Bean
的ResourceProcessor<Resource<Entity>>
,但有些奇怪。
1)在一个类中声明的@Bean
:
@Bean
public ResourceProcessor<Resource<Author>> authorProcessor() {
return new ResourceProcessor<Resource<Author>>() {
@Override
public Resource<Author> process(Resource<Author> resource) {
System.out.println("method process of bean ResourceProcessor of class RepositoryBaseConfiguration");
return resource;
}
};
}
2)实现接口ResourceProcessor
:
@Component
public class AuthorResourceProcessor implements ResourceProcessor<Resource<Author>> {
@Override
public Resource<Author> process(Resource<Author> resource) {
System.out.println("method process of class AuthorResourceProcessor");
return resource;
}
}
我有两种解决方案尝试
处理器ar完全忽略:邮件从不打印。
我注意到类org.springframework.data.rest.webmvc.ResourceProcessorInvoker
有一个构造函数:
public ResourceProcessorInvoker(Collection<ResourceProcessor<?>> processors) {
//...
}
此构造是在应用程序,而不是仅一次的开始调用2次(我会期待),和我不明白为什么。
第一次,“处理器”变量用两个bean(如预期的)和bean org.springframework.data.rest.webmvc.ProfileResourceProcessor
解决。
但第二次,“处理器”变量只解决了豆org.springframework.data.rest.webmvc.ProfileResourceProcessor
。
第二个配置@Override第一个。
有什么想法?