由于CXF对spring的无缝支持,CXF的使用,经常与spring捆绑在一起。随之而起的,自然是想在jaxws:endpoint中引用spring bean。在CXF提供的HelloWorld例子中,配置如下:
<jaxws:endpoint id="helloWorld" implementor="demo.spring.HelloWorldImpl" address="/HelloWorld" />
这里,其实现方式就没法再引用其它的spring bean了。若想引用spring bean,方式有两种:

方式一:
<bean name = "implementorBean" *** />
<jaxws:endpoint id="helloWorld" 
                implementor="#implementorBean"
                address="/HelloWorld" />
方式二:
<jaxws:endpoint id="theImplementor"
                implementorClass="demo.spring.HelloWorld"
                address="http://localhost:8080/simpleWithAddress">
       <jaxws:implementor>
          <bean ref="implementorBean"/>
       </jaxws:implementor>
 </jaxws:endpoint>

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Java代码
  1. <jaxws:endpoint id="dwDataChange"
  2. address="/DwDataChange" implementor="cn...imp.DwDataChangeImp">
  3. </jaxws:endpoint>

这个样就只能用到实现类 。 只需要做稍微的修改便可以 用spring的 ioc

Java代码
  1. <bean  id="xxxxxxx"></bea>

修改上面的  implementor="#xxxxxxx"  就ok  还有一种方式是

Java代码
  1. <jaxws:server id="dwDataChange" serviceClass="cn...imp.DwDataChangeImp" address="/DwDataChange">
  2. <jaxws:serviceBean>
  3. <ref bean="xxxxx"/>
  4. </jaxws:serviceBean>
  5. </jaxws:server>

另外也可以 在第一种的基础上

Java代码
  1. <jaxws:implementor>
  2. <bean ref="xxxxxx"/>
  3. </jaxws:implementor>

====

转自:http://hi.baidu.com/hnsmczw/blog/item/18811ff00011b34e342acc5d.html

注意方式二的<bean ref="implementorBean"/>正确写法是:<ref  bean="implementorBean"/>

implementorClass  是接口

05-11 20:26