橙稚 2017-09-21 01:36 采纳率: 33.3%
浏览 1419
已结题

CXFwebService ,注解问题,求大神!!!!

CXFwebService ,注解问题,在启动Tomcat时,后提示org.apache.cxf.common.injection.ResourceInjector visitField
failed to resolve resource tDatacentermiddleMapper服务器端(webservice)的自动装载(注入)并不成功。
求解决方法,下面是代码,服务端代码图片说明图片说明
图片说明图片说明图片说明

  • 写回答

6条回答 默认 最新

  • 自断经脉 2017-09-21 07:42
    关注

    你不用上这么多图,我知道了为什么。
    你上面是图片,我没法复制,下面我简短写的demo,你照着修改就行了!

    解决方法:

    <!--发布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即可。

    所以你的问题是发布的暴露接口那个类没有使用@Service直接注解标记成一个bean,然后你就直接用 #TestServiceImpl了。
    可这样修改:在TestServiceImpl了上面加一个@Service("TestServiceImpl了")。

    纯手打,希望您能给分!!!!

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大