继续上次的spring服务的问题,这边介绍一种spring配置客户端的方法。
1、src目录下新建client-beans.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<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">
<!-- 方式一:基于spring的jaxws -->
<!-- <jaxws:client
id="client" serviceClass="demo.cxf.helloworld.HelloWorld"
address="http://localhost:8080/HelloWorld"/> -->
<!-- 方式二:基于cxf的JaxWsProxyFactoryBean -->
<bean id="client" class="demo.cxf.helloworld.client.ClientSpring"
factory-method="create" factory-bean="clientFactory"/>
<bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="demo.cxf.helloworld.HelloWorld"/>
<property name="address" value="http://localhost:8080/HelloWorld"/>
</bean>
</beans>
2、客户端调用类:ClientSpring
package demo.cxf.helloworld.client; import org.springframework.context.support.ClassPathXmlApplicationContext; import demo.cxf.helloworld.HelloWorld; public class ClientSpring { public static void main(String[] args) {
System.out.println("Start client.....");
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "classpath:client-beans.xml" });
HelloWorld helloWorld = (HelloWorld) context.getBean("client"); System.out.println(helloWorld.sayHello("Jobs"));
System.exit(0);
}
}
3、先启动前面所讲的spring服务
4、运行客户端程序Run as JavaApplication
其实还有代码直接实现的,不用配置文件的,这边就不介绍了,跟配置文件类似的。实际开发中还是主要用到XML配置文件的。