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

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

你不用上这么多图,我知道了为什么。
你上面是图片,我没法复制,下面我简短写的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了")。

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

哪来的testService,你xml文件别动,在TestServiceImpl了上面加一个@Service("TestServiceImpl")

另外你的xml文件那个定义的 改成下面这样的:
implementorClass=" 你的 TestServiceImpl 类的全路径" address="/TestService"/>

 前面还是一样,在TestServiceImpl了上面加一个@Service("TestServiceImpl")。
xml文件中你定义的那个TestServiceImpl bean,把他注释掉,然后你的接口暴露这样写:

<jaxws:endpoint id="TestService" implementor="#TestServiceImpl" 
    implementorClass="TeacherServiceImpl全路径" address="/TestService"/>




    试下。

图片说明图片说明

 你的xml里面的注解扫描开了没有:

<!-- 开启扫描注解 -->
    <context:component-scan base-package="你的TestServiceImpl类所在的包路径"></context:component-scan>