发布注意事项:


notice1:cxf配置文件必须在web-info下面,命名必须为cxf-servlet.xml,不然会一直提示找不到cxf bean.后面查看源码发发现

<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
if (configLocation == null) {
    try {
        InputStream is = servletConfig.getServletContext().getResourceAsStream("/WEB-INF/cxf-servlet.xml");
        if (is != null && is.available() > 0) {
            is.close();
            configLocation = "/WEB-INF/cxf-servlet.xml";
        }
    } catch (Exception var6) {
        ;
    }
}

notice2:发布cxf时,指定到对应的类中有两种方式,

一种是

<jaxrs:server id="userExit" address="/api" serviceClass="com.cxf.MyRest">

</jaxrs:server>
这种方式发布后,里面的service不能自动注入。当初也是找了好久的问题,才发现的

第二种:

<jaxrs:server id="userExit" address="/api">
    <jaxrs:serviceBeans>
        <ref bean="myRest"></ref>
    </jaxrs:serviceBeans>
</jaxrs:server>

使用这种方式发布的cxf,bean才能正常注入。


Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐