网站首页> 源码> SpringMVC+Spring+tk.Mybatis(通用Mapper)+dubbo分布式服务demo
SpringMVC+Spring+tk.Mybatis(通用Mapper)+dubbo分布式服务demo
下载代码之后可以加qq群:190182489 有问题可以在群里发出来一起解决
一、系统介绍
本系统是基于SpringMVC+Spring+tk.Mybatis(通用Mapper)+dubbo开发的一套分布式服务框架。适合作为app的后端接口服务使用,初学者学习,服务单体测试。
二、源码介绍
demo样例中简单抽离出几个层次,基础base层:base-demo;基础api层:dubbo-api-demo;基础业务层:base-business;dubbo服务端(提供dubbo服务):dubbo-provider-demo;dubbo客户端(作为消费者调用dubbo服务):dubbo-client-demo。源码结构图如下:
其中base-demo层为spring,mybatis,dubbo,zookeeper,log等核心jar引入。层级关系为:dubbo-provider-demo服务端层依赖于dubbo-api-demo,dubbo-api-demo依赖于base-business业务层,base-business业务层依赖于base-demo基础base层;作为客户端的消费者dubbo-client-demo也和dubbo-provider-demo服务端层一样依赖于dubbo-api-demo层。
BaseService已做好简单的封装,
所有业务service仅需要继承该BaseService即可使用BaseSerivce里面所有方法,简单方便,没有多余的业务代码。
然后直接在业务控制层即可实现调用,如图:
该项目以zookeeper作为注册服务中心,故单体测试或者项目启动都需要先启动zookeeper服务。zookeeper官网下载地址:http://zookeeper.apache.org/releases.html。
以windows系统为例,启动zkServer.cmd成功后如图:
此时就可以进行服务端的单体测试了!
服务端单体测试通过之后再使用jetty启动项目:
服务端通过浏览器访问接口结果如下:
得到json数据成功!
此时才是真正作为分布式系统的客户端去作为消费者调用dubbo服务了,
客户端引入dubbo服务demo如下:
package com.demo.controller.account;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.dubbo.config.annotation.Reference;
import com.base.entity.account.AccountEntity;
import com.demo.controller.BaseController;
import com.demo.service.account.AccountService;
/**
* 账号相关
* @author wanghaiming
* @since 2018-4-19
*/
@RestController
@RequestMapping("/account")
public class AccountController extends BaseController {
@Reference
private AccountService accountService;
@RequestMapping(value="/get")
public AccountEntity get(@RequestParam Integer id) throws Exception {
AccountEntity entity = accountService.get(id);
return entity;
}
}
注意,dubbo客户端在引入service时必须使用alibaba的@Reference注解。同样启动客户端服务调用接口效果如图:
在使用的过程中可能会出现xml中不认dubbo的命名空间问题,报错提示:Failed to read schema document,解决办法请参考
https://blog.csdn.net/wabiaozia/article/details/50491700
至此完整的基于dubbo的分布式服务框架就介绍完了!
- 加入微信群,不定期分享源码和经验

- 签到活跃榜 连续签到送额外金币
|
- 1. 注册就送5金币,发布源码,供别人下载赚取金币
- 2. 发布博客,发布问答,回复其他用户赚取金币
- 3. 自动充值或联系QQ1367251002客服人工充值
- 最新系统
- springboot图书个性化推荐系统带文档 2013
- springboot的医护人员排班系统 1930
- 基于SpringBoot的在线拍卖系统 1931
- 学生选课系统+论文+数据库文件 2318
- springboot+vue准妈妈孕期交流平台系统带论文 2930
- springboot+vue汽车租赁系统带论文 2627
- springboot社区维修平台带论文 1798
- springboot职称评审管理系统带论文 1650
- springboot牙科诊所管理系统带论文 1711
- springboot家教管理系统带论文 1537