摸索了一天,到底xfire怎么样完整注入spring,记下来吧。
//webservice接口类
package com.longhope.webservice;
public interface IWebService {
public String getUser();
}
//实现类
package com.longhope.webservice;
import com.longhope.business.info.service.InfoService;
public class WebService implements IWebService {
//注入的其他service
private InfoService infoService ;
public String getUser() {
// TODO Auto-generated method stub
String S_USER_STR = infoService.queryUserList();
return S_USER_STR;
}
public InfoService getInfoService() {
return infoService;
}
public void setInfoService(InfoService infoService) {
this.infoService = infoService;
}
}
//application.xml 新增配置
<bean id="iWebService" class="com.longhope.webservice.WebService"/>
<bean name="WebService" class="org.codehaus.xfire.spring.ServiceBean">
<property name="serviceBean" ref="iWebService"/>
<property name="serviceClass" value="com.longhope.webservice.IWebService"/>
<property name="inHandlers">
<list><ref bean="addressingHandler"/> </list>
</property>
</bean>
<bean id="addressingHandler" class="org.codehaus.xfire.addressing.AddressingInHandler"/>
//web.xml新增配置
<servlet>
<servlet-name>XFireServlet</servlet-name>
<!-- 不整合时使用org.codehaus.xfire.transport.http.XFireConfigurableServlet -->
<servlet-class>org.codehaus.xfire.spring.XFireSpringServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:org/codehaus/xfire/spring/xfire.xml,/WEB-INF/applicationContext.xml</param-value>
</context-param>
//新增到spring包中的 webservice.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- ============= 引入的其他spring 类接口 ============= -->
<bean name="iWebService"
class="com.longhope.webservice.WebService">
<property name="infoService">
<ref bean="infoService" />
</property>
</bean>
</beans>
配置完毕,可直接引入dao或其他的service接口,实现完整注入spring