`
pengchua
  • 浏览: 152612 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Review_spring

阅读更多

1.<null/>用于处理null 值.spring会把属性的空参数当作空字符串处理.
2.bean的作用域:有singleton,prototype,request,session,global session
3.有关spring中的RMI(Remote Method Invocation),spring目前支持4种远程技术:
1).RMI.通过使用RmiProxyFactoryBean和RmiServiceExporter,spring同时支持传统的RMI和通过RMIymet
调用器实现的透明远程调用.
rmi-server.xml:
 <bean id="someService"
          class="onlyfun.caterpillar.SomeServiceImpl"/>

    <bean id="serviceExporter"
          class="org.springframework.remoting.rmi.RmiServiceExporter">
        <property name="service" ref="someService"/>
        <property name="serviceName" value="SomeService"/>
        <property name="serviceInterface"
                  value="onlyfun.caterpillar.ISomeService"/>
    </bean>
RMIServer.java:
   ApplicationContext context =
          new ClassPathXmlApplicationContext("rmi-server.xml");
       
        System.out.println("启动RMI Server..");
        System.out.println("请输入exit关闭Server: ");
       
        BufferedReader reader =
            new BufferedReader(
                    new InputStreamReader(System.in));
       
        while(true) {
            if(reader.readLine().equals("exit")) {
                break;
            }
        }

        RmiServiceExporter rmiServiceExporter =
             (RmiServiceExporter) context.getBean("serviceExporter");
        rmiServiceExporter.destroy();
    }
rmi-client.xml:
    <bean id="someServiceProxy"
          class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
        <property name="serviceUrl"
                  value="rmi://localhost/SomeService"/>
        <property name="serviceInterface"
                  value="onlyfun.caterpillar.ISomeService"/>
    </bean>
RMIClient.java:
  public static void main(String[] args) {
        ApplicationContext context =
            new ClassPathXmlApplicationContext(
                    "rmi-client.xml");

        ISomeService service =
            (ISomeService) context.getBean("someServiceProxy");

        String result1 = service.doSomeService("Some request");
        System.out.println(result1);

        int result2 = service.doOtherService(1);
        System.out.println(result2);
    }
2)使用Hessian,通过HessianProxyFactoryBean和HessianServiceExporter,可以使用Caucho提供的基于
Http的轻量级二进制协议来透明地暴露服务.
    Hessian是使用一个特定的servert通过Http进行通讯,与RMI不同,只有将该web放在容器中运行,client就可以访问到.
   web.xml:

    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>
           org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>/WEB-INF/service-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>*.service</url-pattern>
    </servlet-mapping>

service-config.xml:
<bean id="urlMapping"
          class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/some.service">serviceExporter</prop>
            </props>
        </property>
    </bean>
 
    <bean id="someService"
          class="onlyfun.caterpillar.SomeServiceImpl"/>

    <bean id="serviceExporter"
          class="org.springframework.remoting.caucho.HessianServiceExporter">
        <property name="service" ref="someService"/>
        <property name="serviceInterface"
                  value="onlyfun.caterpillar.ISomeService"/>
    </bean>

client调用
hessian-client.xml

3.使用HTTP调用器,使用标准java序列化机制来通过HTTP暴露业务,如果你的参数或返回值是复杂类型,并且不能通过Hessian和Burlap的序列化机制进行序列化,HTTP调用器很有优势.
实际上,spring可以使用J2SE提供的标准功能或Commons的HttpClient来实现HTTP调用.
其配置方法同Hessian.
只要将service.config.xml中org.springframework.remoting.caucho.HessianServiceExporter
改为:org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter

客户端的配置文件中:org.springframework.remoting.caucho.HessianServiceExporter
改为org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean

4.再就是web service见webSerice部分.
 



分享到:
评论

相关推荐

    review_spring.rar

    《Spring框架深度解析:从配置到注解再到工作原理》 Spring框架,作为Java开发中的核心组件,以其强大的依赖注入(DI)和面向切面编程(AOP)能力,极大地简化了企业级应用的开发。在本文中,我们将深入探讨Spring...

    review_second-源码.rar

    很抱歉,但根据您给出的信息,"review_second-源码.rar" 和 "review_second-源码.zip" 都是文件名,而没有提供具体的IT知识点或描述。通常,"源码"指的是编程语言编写的原始代码,可能是某个软件、应用或网站的实现...

    review_sm.rar

    "sm框架"通常指的是SpringMVC框架,这是一个广泛使用的Java Web开发框架,属于Spring生态的一部分。SpringMVC提供了一个模型-视图-控制器(MVC)架构,帮助开发者构建高效、灵活的Web应用程序。在“sm框架整合”的...

    spring-mvc-review:Spring MVC评论

    这个项目名为 "spring-mvc-review",可能是对 Spring MVC 框架的一个复习或者示例应用。 Spring MVC 的核心特性包括: 1. **模型-视图-控制器架构**:它将应用程序逻辑分离开来,使得开发人员可以独立地处理数据、...

    spring-aop-review-tcf.zip

    在"spring-aop-review-tcf"这个示例中,你可以看到如何配置Spring的AOP支持,以及如何定义切面(Aspect)和通知(Advice)。切面通常包含一个或多个通知,通知定义了增强的逻辑。通知类型包括前置通知(Before)、...

    Jumping_NLP_Curves_NLP_Review

    NLP NLPNLPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN

    review 。。。

    标题中的“review”可能指的是对某个软件、框架或者编程工具的评价或回顾,这通常涉及到对其实用性、性能、易用性等方面的分析。由于没有具体的标题内容,我将假设这是一个关于开源项目或软件工具的代码审查过程。 ...

    movie_review:movie_review

    一旦模型训练完成,我们将其部署到生产环境,可能需要将Java代码与Web服务结合,如Spring Boot框架,实现RESTful API接口,以便其他应用可以调用我们的评论分析服务。此外,为了实时处理新评论,我们可以使用消息...

    Struts2Review项目

    结合Struts2的插件机制,可以方便地集成第三方库,如Spring、Hibernate等,以实现完整的MVC+ORM解决方案。 项目中的文件可能包括Action类、JSP页面、配置文件(如struts.xml)、测试用例等。Action类通常会处理业务...

    review-admin:review的后台管理系统,目前采用dropwizard hibernate-jpa angularjs bootstrap开发

    (选型时由于采用springmvc+jetty,参考spring-boot感觉太麻烦,如需要可以修改为spring框架 采用Hibernate是由于对于性能要求不高,所以不采用原生Jdbc处理了 ) 前台采用angularjs+bootstrap,依赖angularjs相关...

    基于Spring Boot MySQL实现民宿管理系统,小程序应用【优质毕业设计、课程设计项目】.zip

    在项目中,数据库设计可能包括以下几个表:用户表(User)、房源表(Accommodation)、预订表(Reservation)、评价表(Review)等。用户表存储用户的基本信息,如用户名、密码、联系方式等;房源表包含房源的详细...

    基于Spring Boot MySQL实现个性化课程推荐系统【优质毕业设计、课程设计项目】.zip

    - 数据库设计包括用户表(User)、课程表(Course)、用户行为表(UserBehavior)等,可能还有其他关联表如类别表(Category)、评价表(Review)等。 - 可能会使用外键约束来保持数据的一致性和完整性。 3. **...

    任务书(基于Spring Boot+Vue的大学生心里健康咨询平台).docx

    Psychological management of patients with chronic prostatitis/chronic pelvic pain syndrome (CP/CPPS): a systematic review.[J]. Scandinavian journal of pain, 2022. 9. 王珊, 萨师煊. 数据库系统概论[M]. ...

    2014 Year in Review

    【标题】"2014 Year in Review" 概述的是对2014年度在IT领域,特别是软件开发方面的重要发展和趋势的回顾。这个标题暗示了文章可能涵盖了当年的技术创新、流行的开源项目、重要的编程语言更新或者工具的发布等。2014...

    学年五年级英语上册 Review 2教案 闽教版(三起)-闽教版小学五年级上册英语教案.doc

    * 教师播放录音,全班学生跟着录音学说韵律诗:Hello,Spring! * 板书课题:Review 2 * 完成课本第 66 页的 Tick the words you can say 部分 * 游戏——一气呵成 Step 2 Review Unit 5 * 复习 12 个月份的单词 * ...

    springboot-review:springboot复习一哈

    springboot-review springboot复习一哈 入职公司快两个月了,记得好像在毕设答辩前一个月都是在赶论文,没怎么敲过代码,最多对毕设修修改改,刚开始入职到公司都是在导师的架构里写业务代码,所以感觉有必要对这些...

    javasnmp源码-java_review:复习资料

    Spring相关 spring 优点,特性 ​ spring IOC AOP,aop如何实现 ​ ​ JDK动态代理和cgLib动态代理 ​ ​ ​ sprin创建bean过程 ​ ​ SpringMVC常用注解 ​ springMVC处理请求流程/工作流程 ​ ...

    springboot070基于springboot的大创管理系统_论文.doc

    ation management, project application management, project inspection management, project completion management, project review management, expert review management, and review plan management....

Global site tag (gtag.js) - Google Analytics