这种,后台同用一个啊,把app,和web页面看成两个不同客户端,
数据库,dao ,同用。
service层定义接口,根据app ,web的业务做不同的实现,
控制层web使用mvc ,(struts,springmvc)
app ,可以通过httpclent 调用sevice层的业务接口

解决方案 »

  1.   

    考虑到app的服务和web的服务有很多不同 而且dao中各实体的关联app和web也不太一样  例如app需要一对多 而web里就不需要  还有登陆调用接口方式也不同 app调用是无状态的 不需要容器保有session 对app的调用每次都需要提供用户名密码验证 而web中是保有session的  不需要密码 有token就行了
      

  2.   


    1 在开发时首先用hibernate把连接数据库的dao层提取出来单独作为一个纯数据库基类工程管理,app service和web都引用该数据库基类工程,最大程度共用和与具体业务解耦。
    2 app service和web下有自己的数据库操作业务逻辑,包或者工程都可,尽可能的把自己的数据逻辑封装到自己的工程下。
    3 要考虑不同独立服务的数据库并发读取和修改问题,以免出现数据丢失更新这类严重的并发问题,可以在字段中加入version,使用hibernate配置version。
    4 如果考虑到负载均衡和安全,可以建多个数据库,在数据库之间做数据同步。