cxf不使用Spring在WebContianer发布服务的方法

本文介绍了一种在不使用Spring框架的情况下部署CXF服务的方法。主要步骤包括修改web.xml文件中的Servlet全类名,调整cxf核心包内的配置文件,并通过代码方式发布服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于单位硬是不给引进Spring的包,于是本人花了一天研究出这个方法.
官方上面的指引不是很清晰,网上的资料又大多没有什么内涵,于是自己看CXF的源码了.
好,废话就不多说了.

1.把web.xml中的CXFServlet的全类名替换成org.apache.cxf.transport.servlet.CXFNonSpringServlet
2.把cxf核心那个包中的META-INF/cxf/bus-extension.xml中的<extension class="org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory" deferred="true">替换成<extension class="org.apache.cxf.transport.servlet.ServletTransportFactory" deferred="true">
3.发布方式为代码方式,可做成配置方式
HelloWorldImpl helloImpl=new HelloWorldImpl();
Endpoint.publish("/HelloWorld", helloImpl);

这样就可以了,spring相关的包可以去掉,beans.xml也可以去掉.
另外那个CXFNonSpringServletServer误导了我,我学着加了setDefaultBus()这个方法结果覆盖了原来的bus,调了好长的时间.....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值