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">,否则会报错),代码如下:
<?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方法,在控制台就能看见结果了。
分享到:
相关推荐
spring rmi 多接口服务端配置 调用多接口客户端配置
spring 与rmi 的整合 1.首先编写接口 interface : 这里的接口要继承Remote, 它是一个标识接口 2.编写实现类 3.编写main方法用于启动 service 4 配置spring文件 编写客户端测试类
spring-rmi-示例 ...这个项目是如何在 Spring 的帮助下设置 RMI 服务器和客户端的示例。 该项目包含2个子项目: Spring RMI 示例服务器,即 Web 应用程序 ...服务器 Spring 配置如下: < / bean > < pr
上文我们利用Spring rmi实现了Spring的远程访问(Spring 实现远程访问详解——rmi),本文主要讲解利用HttpInvoke实现远程访问。 Spring httpInvoker使用标准java序列化机制,通过Http暴露业务服务。如果你的参数和...
JMX集成到spring中,并提供了一个rmi远程连接的配置文件
前几章我们分别利用spring rmi、httpinvoker、httpclient、webservice技术实现不同服务器间的远程访问。本章我将通过spring jms和activemq实现单Web项目服务器间异步访问和多Web项目服务器间异步访问。 一. 简介 1. ...
(2) spring-beans.jar 这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,...
Hessian RPC-RMI技术 整合Structs Spring Hibernate Ibatis 包含Hessian配置说明、服务器Server Demo、客户端Client Demo.
6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 ...
这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,引入spring-core.jar及...
这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,引入spring-core.jar及...
6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点...
12.6.16 编写Spring和Hibernate的配置文件spring-config.xml 12.6.17 编写web.xml 12.6.18 验证示例 12.7 小结 第四篇 J2EE项目案例精选 第十三章 网上调查系统 13.1 系统概述 13.2 需求分析 13.2.1 系统用例图 ...
6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 ...
6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点...
6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 ...
1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...
第一部分 Spring基础 第1章 开始Spring之旅 1.1 为什么使用Spring 1.1.1 J2EE开发者的一天 1.1.2 Spring的承诺 1.2 Spring是什么 1.3 开始Spring之旅 1.4 理解反向控制 1.4.1 依赖...
12.6.16 编写Spring和Hibernate的配置文件spring-config.xml 12.6.17 编写web.xml 12.6.18 验证示例 12.7 小结 第四篇 J2EE项目案例精选 第十三章 网上调查系统 13.1 系统概述 13.2 需求分析 13.2.1 系统用例图 ...
1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...