Spring Rmi配置
1、服务器端
新建一个Dynamic 、Web Project,导入支持Spring jar包。在WEB-INF下新建applicationContent.xml(必须加上<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">,否则会报错),代码如下:
BaseService.java
BaseServiceImpl.java
User:必须实现Serializable接口
main方法:
把service借口和java bean打成jar包放到客户端的里面。
启动main方法,或者将service发布到服务器。
2、客户端
新建一个java项目或者web项目,导入Spring jar包。新建applicationContext.xml,代码如下:
192.168.0.37是服务器的IP地址。
main方法
关于Spring的applicationContent.xml文件的详解,请点此链接: http://ithead.iteye.com/admin/blogs/1461565。
运行main方法,在控制台就能看见结果了。
1、服务器端
新建一个Dynamic 、Web Project,导入支持Spring jar包。在WEB-INF下新建applicationContent.xml(必须加上<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">,否则会报错),代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="baseRmiService" class="com.wym.service.impl.BaseServiceImpl">
</bean>
<bean id="baseServiceExporter" class="org.springframework.remoting.rmi.RmiServiceExporter">
<!-- 调用Service -->
<property name="service" ref="baseRmiService"></property>
<!-- value值是给用户调用 -->
<property name="serviceName" value="baseService"></property>
<!-- service 接口 -->
<property name="serviceInterface" value="com.wym.service.BaseService"></property>
<!-- 注册端口号 -->
<property name="registryPort" value="1200"></property>
</bean>
</beans>
BaseService.java
package com.wym.service;
import com.wym.bi.User;
public interface BaseService {
public String getHelloword(String name);
public String getUser(User user);
}
BaseServiceImpl.java
package com.wym.service.impl;
import com.wym.bi.User;
import com.wym.service.BaseService;
public class BaseServiceImpl implements BaseService {
public String getHelloword(String name){
return "Welcome to Shanghai," + name + "!";
}
public String getUser(User user){
return "name: " + user.getName() + "------>" + "age: " + user.getAge();
}
}
User:必须实现Serializable接口
package com.wym.bi;
import java.io.Serializable;
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private int age;
public User(){}
public User(String name, int age){
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
main方法:
package com.wym.service;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.wym.service.BaseService;
public class BaseServiceTest {
/**
* @param args
*/
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
BaseService baseService = (BaseService) context.getBean("baseRmiService");
System.out.println("baseRmiService start...");
}
}
把service借口和java bean打成jar包放到客户端的里面。
启动main方法,或者将service发布到服务器。
2、客户端
新建一个java项目或者web项目,导入Spring jar包。新建applicationContext.xml,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="baseService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<!-- baseService是调用服务端serviceName的value -->
<property name="serviceUrl" value="rmi://192.168.0.37:1200/baseService"></property>
<!-- service接口 -->
<property name="serviceInterface" value="com.wym.service.BaseService"></property>
</bean>
</beans>
192.168.0.37是服务器的IP地址。
main方法
package wym.client;
import com.wym.bi.User;
import com.wym.service.BaseService;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class ClientTest {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("file:d:/tnt_project/TEST/conf/applicationContext.xml");
BaseService baseService = (BaseService) context.getBean("baseService");
System.out.println(baseService.getHelloword("Yunmin Wu"));
User user = new User();
user.setName("Dan Qiao");
user.setAge(48);
System.out.println(baseService.getUser(user));
}
}
关于Spring的applicationContent.xml文件的详解,请点此链接: http://ithead.iteye.com/admin/blogs/1461565。
运行main方法,在控制台就能看见结果了。