Spring+CXF 实现类无法注入属性的问题

spring bean的配置文件  bean.xml   [引自:http://isky.iteye.com/blog/162053]

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:jaxws="http://cxf.apache.org/jaxws" 
xsi:schemaLocation=" 
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"> 

<import resource="classpath:META-INF/cxf/cxf.xml" /> 
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 

<bean id="hello" class="demo.spring.HelloWorldImpl" /> 

<jaxws:endpoint id="helloWorld" implementor="#hello" address="/HelloWorld" /> 

<!-- 另一种写法 是 

<jaxws:endpoint    id="helloWorld"   implementor="demo.spring.HelloWorldImpl"     address="/HelloWorld" /> 

在这里我建议不要用这种方法 ,如果实现类有的属性要通过spring依赖注入的话,这种方法只是简单的new个实现类,他的属性没有通过spring依赖注入给注入值 

所有综合考虑   建议使用上面的写法! 

--> 
</beans> 

2012.07.03补充:

上面第一种方法可以注入实现类的属性,但是生成的wsdl中每个接口的参数不见了,因为wsdl中多了个import属性,import进来的文件(复制文件地址在浏览器打开)详细说明了每个接口的参数类型及名称。若添加implementorClass属性来指定实现接口,则可以直接看到这些接口参数信息,格式如下:

<jaxws:endpoint    id="helloWorld"   implementorClass="demo.spring.HelloWorld"  implementor="#hello"  address="/HelloWorld" />

你可能感兴趣的:(spring,CXF,属性注入)