我正在将Spring Boot与Apache CXF集成。 Everyhthing是确定的,但我不能让SearchContext
到控制器内工作:Spring + Apache CXF:SearchContextProvider未初始化
@Context
private SearchContext context;
public @ResponseBody List<Users> getAll(@Context SearchContext context, @RequestParam String search){
....
}
的SearchContext没有正确注射,如不被SearchContextProvider
在包org.apache.cxf.jaxrs.ext.search
创建。
我启动CXF的Servlet与此豆:
@Bean
public ServletRegistrationBean cxfServlet() {
CXFServlet cxf = new CXFServlet();
ServletRegistrationBean registration = new ServletRegistrationBean(cxf, "/api/*");
return registration;
}
我使用一个基于Java的配置,无XML。 在一个基于XML的配置,似乎这标签是必需的:
<jaxrs:providers>
<bean class="org.apache.cxf.jaxrs.ext.search.SearchContextProvider"/>
</jaxrs:providers>
我如何可以声明在servlet的基于Java的配置提供者?
为什么要这样做? Wy应该关注cxf注释和课程......您正在混合2种不兼容的技术。 –
@ m-denium从春季官方文档:_Jersey 1.x和Apache CXF在开箱即用的情况下工作得非常好,如果您只是在应用程序环境中将它们的Servlet或过滤器注册为\ @Bean_ – Roberto
正确,我没有在那里说Apache CXF将无法工作,或者您可以自动连接Apache CXF Web服务。但是,您不能在spring控制器上使用apache CXF中的类型/注释。这是行不通的。 –