SSH2集成CXF提供WebService服务

在SSH2框架下集成CXF_v2.1.2构建WebService服务时遇到问题,服务器启动时无法自动装载TeacherServiceImpl的teacherDao资源。解决办法是修改配置,将`jaxws:endpoint`的`implementor`属性改为引用bean的方式,使用`@Service`注解标记实现类,并在`implementor`中指定bean名称。同时,TeacherServiceImpl中通过`@Resource`注解注入TeacherDao,确保服务正常运行。

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

SSH2+CXF_v2.1.2时,服务器端(webservice)的自动装载(注入)并不成功。

发现服务器启动的时候发现一条信息:org.apache.cxf.common.injection.ResourceInjector visitField

info:  failed to resolve resource  com.skyarm.system.service.teacherServiceImpl/teacherDao.

 

解决方法:

<!--发布WebService接口-->   

<jaxws:endpoint id="TeacherService" implementor="#teacherService" implementorClass="com.skyarm.system.service.TeacherServiceImpl" address="/TeacherService"/>

 

@WebService @Service("teacherService") public class TeacherServiceImpl implements TeacherService { @Resource private TeacherDao teacherDao; public CreateStat createTeacher(@WebParam(name = "teacher")TeacherPO teacher) { return this.teacherDao.createTeacher(teacher); }

 

public void setTeacherDao(TeacherDao teacherDao) { this.teacherDao = teacherDao; }

 

}

主要区别是原本jaxws中的implementor属性是直接写实现类的fullClass,

现在改成ref bean的方式,使用@Service注解标记实现类为一个bean,

然后implementor属性用# + bean的名字来指向这个bean即可。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值