如何在Spring中集成hessian与spring集成框架

如何在项目中引入Spring框架 - 日积月累 - ITeye技术网站
博客分类:
在web项目里引入Spring框架方法如下:
1. 首先下载Spring的jar包,spring的jar包说明如下:
spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。
spring-src.zip就是所有的源代码压缩包。
除了spring.jar 文件,Spring 还包括有其它21 个独立的jar 包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar 包,而不必引入整个spring.jar 的所有类文件。
spring-core.jar
这个jar 文件包含Spring 框架基本的核心工具类。Spring 其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。
外部依赖Commons Logging, (Log4J)。
spring-beans.jar
这个jar 文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI 支持,引入spring-core.jar 及spring-beans.jar 文件就可以了。
外部依赖spring-core,(CGLIB)。
spring-aop.jar
这个jar 文件包含在应用中使用Spring 的AOP 特性时所需的类和源码级元数据支持。使用基于AOP 的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。
外部依赖spring-core, (spring-beans,AOP Alliance, CGLIB,Commons Attributes)。
spring-context.jar
这个jar 文件为Spring 核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI 所需的全部类,instrumentation组件以及校验Validation 方面的相关类。
外部依赖spring-beans, (spring-aop)。
spring-dao.jar
这个jar 文件包含Spring DAO、Spring Transaction 进行数据访问的所有类。为了使用声明型事务支持,还需在自己的应用里包含spring-aop.jar。
外部依赖spring-core,(spring-aop, spring-context, JTA API)。
spring-jdbc.jar
这个jar 文件包含对Spring 对JDBC 数据访问进行封装的所有类。
外部依赖spring-beans,spring-dao。
spring-support.jar
这个jar 文件包含支持UI模版(Velocity,FreeMarker,JasperReports),邮件服务,脚本服务(JRuby),缓存Cache(EHCache),任务计划Scheduling(uartz)方面的类。
外部依赖spring-context, (spring-jdbc, Velocity, FreeMarker, JasperReports, BSH, Groovy, JRuby, Quartz, EHCache)
spring-web.jar
这个jar 文件包含Web 应用开发时,用到Spring 框架时所需的核心类,包括自动载入Web Application Context 特性的类、Struts 与JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类。
外部依赖spring-context, Servlet API, (JSP API, JSTL, Commons FileUpload, COS)。
spring-webmvc.jar
这个jar 文件包含Spring MVC 框架相关的所有类。包括框架的Servlets,Web MVC框架,控制器和视图支持。当然,如果你的应用使用了独立的MVC 框架,则无需这个JAR 文件里的任何类。
外部依赖spring-web, (spring-support,Tiles,iText,POI)。
spring-portlet.jar
spring自己实现的一个类似Spring MVC的框架。包括一个MVC框架和控制器。
外部依赖spring-web, Portlet API,(spring-webmvc)。
spring-struts.jar
Struts框架支持,可以更方便更容易的集成Struts框架。
外部依赖spring-web,Struts。
spring-remoting.jar
这个jar 文件包含支持EJB、远程调用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。
外部依赖spring-aop, (spring-context,spring-web,Hessian,Burlap,JAX-RPC,EJB API)。
spring-jmx.jar
这个jar包提供了对JMX 1.0/1.2的支持类。
外部依赖spring-beans,spring-aop, JMX API。
spring-jms.jar
这个jar包提供了对JMS 1.0.2/1.1的支持类。
外部依赖spring-beans,spring-dao,JMS API。
spring-jca.jar
对JCA 1.0的支持。
外部依赖spring-beans,spring-dao, JCA API。
spring-jdo.jar
对JDO 1.0/2.0的支持。
外部依赖spring-jdbc, JDO API, (spring-web)。
spring-jpa.jar
对JPA 1.0的支持。
外部依赖spring-jdbc, JPA API, (spring-web)。
spring-hibernate2.jar
对Hibernate 2.1的支持,已经不建议使用。
外部依赖spring-jdbc,Hibernate2,(spring-web)。
spring-hibernate3.jar
对Hibernate 3.0/3.1/3.2的支持。
外部依赖spring-jdbc,Hibernate3,(spring-web)。
spring-toplink.jar
对TopLink框架的支持。
外部依赖spring-jdbc,TopLink。
spring-ibatis.jar
对iBATIS SQL Maps的支持。
外部依赖spring-jdbc,iBATIS SQL Maps。
另外的两个包。
spring-mock.jar
这个jar 文件包含Spring 一整套mock 类来辅助应用的测试。Spring 测试套件使用了其中大量mock 类,这样测试就更加简单。模拟HttpServletRequest 和HttpServletResponse 类在Web 应用单元测试是很方便的。并且提供了对JUnit的支持。
外部依赖spring-core。
spring-aspects.jar
提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE中,比如Eclipse AJDT。
外部依赖。
WEAVER JARS (dist/weavers)说明。
spring-agent.jar
Spring的InstrumentationSavingAgent (为InstrumentationLoadTimeWeaver),一个设备代理包,可以参考JDK1.5的Instrumentation功能获得更多信息。
外部依赖none (for use at JVM startup: "-javaagent:spring-agent.jar")。
spring-tomcat-weaver.jar
扩展Tomcat的ClassLoader,使其可以使用instrumentation(设备)类。
外部依赖none (for deployment into Tomcat's "server/lib" directory)。
如果需要使用JSP语言作为Spring's web MVC tags的参数,则需要JSP 2.0的支持。或者选择Jakarta的JSTL (standard.jar)。
2.在web.xml文件里加入如下代码:
&!-- Spring Configures --&
&context-param&
&param-name&contextConfigLocation&/param-name&
&param-value&/WEB-INF/*-context.xml&/param-value&
&/context-param&
&listener&
&listener-class&org.springframework.web.context.ContextLoaderListener&/listener-class&
&/listener&
3.在WEB-INF目录加入*-context.xml文件,比如page-context.xml,文件内容如下:
&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd"&
&bean id="exportTableCondition" class="com.kingstar.hbm.dorado.ExportTableCondition" /&
&bean id="organEffectDetail" class="com.kingstar.hbm.dorado.OrganEffectDetail" /&
&bean id="completedCaseDetail" class="com.kingstar.pletedCaseDetail" /&
&bean id="dealingClaimDetail" class="com.kingstar.hbm.dorado.DealingClaimDetail" /&
&bean id="guaranteeClaimDetail" class="com.kingstar.hbm.dorado.GuaranteeClaimDetail" /&
OK,到此为止就可用spring了。
下载次数: 70
浏览: 147263 次
来自: 成都
it doesn't work !why
弱弱的问一句,您的第一个举例中else 后面可以跟判断条件吗? ...
Not very simple
[color=red][size=medium][size=x ...1、依旧,还是先把jar包导入,pom.xml的maven依赖:
&dependency&
&groupId&com.sptsm.unicom.tsm.hessian&/groupId&
&artifactId&sptsm-unicom-tsm&/artifactId&
&version&1.0.0&/version&
&/dependency&
&dependency&
&groupId&com.caucho&/groupId&
&artifactId&hessian&/artifactId&
&version&4.0.7&/version&
&/dependency&
2、hessian_ctx.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:context=&http://www.springframework.org/schema/context&
xmlns:tx=&http://www.springframework.org/schema/tx&
xmlns:task=&http://www.springframework.org/schema/task&
xsi:schemaLocation=&http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd&&
&!-- 系统用户接口 --&
&bean id=&loginBusiness& class=&org.springframework.remoting.caucho.HessianProxyFactoryBean&&
&property name=&serviceUrl&&
&value&&span&&span class=&string&&http://localhost:8080/hessian/loginBusiness&/span&&/span&&/value&
&/property&
&property name=&serviceInterface&&
&value&com.gstd.service.business.ILoginBusiness&/value&//客户端接口地址
&/property&
&!-- 解决协议冲突 --&
&property name=&overloadEnabled& value=&true&&&/property&
3、在客户端项目运行时需要加载hessian_ctx.xml,所以在web.xml中需加如下配置:
&context-param&
&param-name&contextConfigLocation&/param-name&
&param-value&classpath:hessian_ctx.xml&/param-value&
&/context-param&
4、之后在controller中可以这样写
private ILoginBusiness loginB即可通过hessian调用service端ILoginBusiness接口实现的方法。当然,在调用ILoginBusiness接口时,在本地首先也得创建ILoginBusiness接口,并且方法和service端需一致。
ok,简单、直观、强悍。完成!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:24203次
排名:千里之外
原创:28篇
转载:22篇
(1)(7)(2)(1)(4)(13)(1)(2)(6)(3)(4)(4)(2)1、首先把hessian的jar包下载下来,该处用的maven管理jar包&dependency&
&groupId&com.sptsm.unicom.tsm.hessian&/groupId&
&artifactId&sptsm-unicom-tsm&/artifactId&
&version&1.0.0&/version&
&/dependency&
&dependency&
&groupId&com.caucho&/groupId&
&artifactId&hessian&/artifactId&
&version&4.0.7&/version&
&/dependency&2、web.xml配置如下:&!-- 配置Spring监听hessian远程访问,即对外暴露Hessian接口 --&
&servlet-name&hessian&/servlet-name&
&servlet-class&org.springframework.web.servlet.DispatcherServlet&/servlet-class&
&load-on-startup&4&/load-on-startup&
&/servlet&
&servlet-mapping&
&servlet-name&hessian&/servlet-name&
&url-pattern&/hessian/*&/url-pattern&
&/servlet-mapping&3、接口类和实现类:package com.gstd.service.
public interface ILoginBusiness {
public String sayHello();
}package com.gstd.service.business.
import org.
import com.gstd.service.business.ILoginB
@Component("loginBusiness")
public class LoginBusinessImpl implements ILoginBusiness {
public String sayHello(String arg) {
System.out.println("完成调用----");
return "hello:"+
}}4、hessian-servlet.xml的配置如下&?xml version="1.0" encoding="UTF-8"?&
&!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"&
&!-- 以Hessian方式向外暴露的接口 --&
&bean name="/loginBusiness"
//name这个值是在调用时用到
class="org.springframework.remoting.caucho.HessianServiceExporter"&
&property name="service" ref="loginBusiness" /&//ref这个值是通过注解后纳入容器的bean的一个ID
&property name="serviceInterface"
value="com.gstd.service.business.ILoginBusiness" /&//value这个值是实现ref对应的实现类的接口地址
&/beans&5、之后可以在main方法中直接验证是否可成功调用:package com.gstd.
import java.net.MalformedURLE
import com.caucho.hessian.client.HessianProxyF
import com.gstd.service.business.ILoginB
public class A {
* @param args
public static void main(String[] args) {
String url = "http://localhost:8080/hessian/loginBusiness";
//hessian是在web.xml中&url-pattern&/hessian/*&/url-pattern&的配置的
//而loginBusiness则是在hessian-servlet.xml中配置bean的id的值。
 HessianProxyFactory factory = new HessianProxyFactory();
ILoginBusiness hello =
// hello.sayHello("黄晓明");
 System.out.println(hello.sayHello("黄晓明"));
} catch (MalformedURLException e) {
e.printStackTrace();
hello.sayHello("黄晓明");//在eclipse的Console中会打印出
hello:黄晓明
}完事!简单、强悍、直观。。。之后会说在spring中怎么调用hessian接口
如果您想留下此文,您可以将其发送至您的邮箱(将同时以邮件内容&PDF形式发送)
相关文章推荐
(Ctrl+Enter提交) &&
已有0人在此发表见解
&在& 14:50收藏到了
&&在信息爆炸的时代,您的知识需要整理,沉淀,积累!Lai18为您提供一个简单实用的文章整理收藏工具,在这里您可以收藏对您有用的技术文章,自由分门别类,在整理的过程中,用心梳理自己的知识!相信,用不了多久,您收藏整理的文章将是您一生的知识宝库!
· 蜀ICP备号-1

我要回帖

更多关于 spring集成hessian 的文章

 

随机推荐