博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot+Dubbo+Mybatis 项目升级版本(Gradle)
阅读量:7224 次
发布时间:2019-06-29

本文共 1212 字,大约阅读时间需要 4 分钟。

  hot3.png

按最近公司的架构,自己搭建这样个样例。主要是将服务API层进行了区分,解耦接口与模型层.

其中pojo层与vo层都是用来传递参数用法,API-facade层与service是两个概念。API-facade层有统一的规范,可以返回统一结果:

Result {

     int statecode;

     int stateText;

     T data;

     public boolean isSuccess();

     public boolean isBizFailure();

    public boolean isFailure();

}

建议把vo与model及pojo层分开,用不同名称如 UserInfoVo,UserInfo,UserInfoPo

如果使用dubbo来构建。从分包层次来说。应该有:

  1. model
    1. 对应持久化对象。mybatis的对象或是hibernate对象
  2. dao 
    1. 对应数据库访问层。一般是mapper或是dao或是repository
  3. bus
    1. facade实现层
    2. service 层
    3. pojo层
  4. facade
    1. API service层 
    2. API vo层 (可以看成model型层复制)
  5. controller
    1. 提供web服务
  6. common
    1. 定义通用的util
    2. 定义通用的api -result

一般来说可以有这层次。还可以多一层。将facade再包装一层。叫整合api层。

如何使用:

  1. 创建数据库test,创建用户 。可修改application.properties
  2. 准备好zookeeper,默认地址:localhost:2181
  3. sample-app下有个deployer/dubbo-admin-2.5.4.war.在tomcat中部署
  4. 启动提供者:sample-app中com/tdu/app/run/Application.java
  5. 启动消费者:   sample-app2中fcom/run/Application.java
  6. 测试:http://localhost:9081/dubboapp2/test/call

如何下载:

https://github.com/tangdu/dubbo-api.git

如何初始化:

执行sample-master下的init_eclipse.sh 或是在项目下执行 gradle eclipse

-------关于-----------

关于面向SOA 我理解是:项目无状态、提供API。权限等再包装上层,所谓网关。

由这层可以做权限 、验证、加密、限流、统计。

对于完整项目来说,应该还要集成缓存 、job、UI、中间件、message

分享几个框架:redis、ehcache、quartz或Elastic-job、zookeeper、RocketMQ、bootstrap、sui3

转载于:https://my.oschina.net/tangdu/blog/677133

你可能感兴趣的文章
git--- 拉取代码
查看>>
Objective-C 中 NULL、nil、Nil、NSNull 的定义及不同
查看>>
[ERROR] Plugin 'InnoDB' init function returned error
查看>>
RAC 11.2的新特性
查看>>
下一步要怎么玩?
查看>>
TreeList
查看>>
【故障处理】IMP-00010错误 12C的dmp文件导入11G
查看>>
response.setHeader()的用法
查看>>
H5中JavaScript常用代码片段
查看>>
mysql中使用 where 1=1和 0=1 的作用
查看>>
锤子科技官方首页的特效
查看>>
C# MarshalByRefObject 和Serializable的区别
查看>>
启动Hadoop HA Hbase zookeeper spark
查看>>
SDWebImage源码解读 之 UIImage+GIF
查看>>
pg_dump实例详解(备份postgresql和greenplum数据库)
查看>>
前端学HTTP之报文首部
查看>>
[充电]多线程无锁编程--原子计数操作:__sync_fetch_and_add等12个操作
查看>>
linux系统中如何查看日志(转)
查看>>
谈谈常用清除浮动的方法
查看>>
Atitit opencv 模板匹配
查看>>