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

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

01
<beans xmlns="http://www.springframework.org/schema/beans"
02
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
03
xmlns:jaxws="http://cxf.apache.org/jaxws"
04
xsi:schemaLocation="
05
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
06
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
07

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

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

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

15
<!-- 另一种写法 是
16

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

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

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

23
-->
24
</beans>
2012.07.03补充:

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

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

你可能感兴趣的:(spring)