Spring集成Hprose

参考了网上很多教程,没有现成例子,就自己编写一个,只用Spring容器来管理接口service 用Hprose来发布服务,持久层用mybatis 和mybaits-generat ,这种和springboot稍微不同,可以参考,根据实际业务来;我们的请求是 请求到网关 网关再请求到我们的服务端,服务端暴露接口!

接口和实现类就不贴了

主要是贴下Hprose发布方法:

package com.demo.service;

import com.demo.service.hello.HelloService;
import com.demo.service.user.UserService;
import com.demo.utils.SpringContextUtil;
import hprose.common.HproseMethods;
import hprose.server.HproseServlet;
import org.springframework.stereotype.Component;

/**
 * Hprose发布方法
 *
 * @author Ding.Jie
 */
@Component
public class HproseServletDemo extends HproseServlet {
    @Override
    public void setGlobalMethods(HproseMethods methods) {
        super.setGlobalMethods(methods);
        HelloService helloService = (HelloService) SpringContextUtil.getBean("helloService");
        UserService userService = (UserService) SpringContextUtil.getBean("userService");
//        methods.addMethod("sayHello", helloService);;发布单个方法
        methods.addInstanceMethods(helloService);//发布接口下所有的publice方法 请求url要到web.xml配置
        methods.addInstanceMethods(userService);//发布接口下所有的publice方法 请求url要到web.xml配置
    }
}

web.xml 配置

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>Archetype Created Web Application</display-name>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>HproseServlet</servlet-name>
        <servlet-class>com.demo.service.HproseServletDemo</servlet-class>
        <!--开启调试模式-->
        <init-param>
            <param-name>debug</param-name>
            <param-value>true</param-value>
        </init-param>
        <!--开启跨域-->
        <init-param>
            <param-name>crossDomain</param-name>
            <param-value>true</param-value>
        </init-param>
        <!--<init-param>-->
            <!--<param-name>class</param-name>-->
            <!--<param-value>UserService</param-value>-->
        <!--</init-param>-->
        <!--限制访问域-->
        <!--<init-param>-->
        <!--<param-name>origin</param-name>-->
        <!--<param-value>http://hprose.org,http://hprose.com</param-value>-->
        <!--</init-param>-->
        <!--禁用get方法-->
        <!--<init-param>-->
        <!--<param-name>get</param-name>-->
        <!--<param-value>false</param-value>-->
        <!--</init-param>-->
    </servlet>
    <servlet-mapping>
        <servlet-name>HproseServlet</servlet-name>
        <url-pattern>/api/v1.0.0/javatest/sayHello</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>HproseServlet</servlet-name>
        <url-pattern>/api/v1.0.0/javatest/sayBye</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>HproseServlet</servlet-name>
        <url-pattern>/api/v1.0.0/javatest/getUser</url-pattern>
    </servlet-mapping>

</web-app>


demo下载链接:spring_mybatis_hprose.zip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值