继续上次的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配置文件的。