由于PHP后台项目准备转换JAVA ,由于项目较急,本文不涉及如何搭建环境以及基础配置,只说明开发流程。

具体配置请查看其他文章。

项目开发 分两步 先把PHP项目 涉及查询数据库 部分转化为调用服务接口,后把PHP项目web部分转成Spring+VUE.JS

一 接口服务项目目录结构

1.对外接口  2.接口实现

先说API

目录结构

其中 common为封装的基础模块(分页类,一些静态变量(区域,属性,温控之类的东西))

以product为例,

· api目录 定义web访问的接口

public interface ImageTextApiService {
    String searchImageTextJson(String json);

    PageResultDTO<List<ImageTextVO>> searchImageText(ImageTextSearchParam param);

}

由于PHPweb项目未转之前需调用 故参数为json的 接口为PHP调用

· param目录为入参实体类 俗称beanclass 

以列表页为例 需提供搜索相关参数,列表页还有查看、编辑等操作,需传入主键ID等,这些参数均可定义在param中。(其实也可不定义参数类,接口用map接参数,这样不符合规范)

· VO目录为返回接口 

相当于列表页的结果集,或者查看页面的单体信息。


好了 API就介绍到这里,下面介绍服务实现Service

src下的conf 主要是一些基础配置数据库连接之类的

然后java下的config主要是一些数据库相关事务操作(据说一个服务访问开始到返回结构封装到一个事务中)

其他文件配置相关的hessian访问路径等等

下面讲一下具体实现接口代码

目录结构

以商品为例 

首先是proxy代理层 工作是 实现前面讲的API的接口方法

    String searchImageTextJson(String json);

    PageResultDTO<List<ImageTextVO>> searchImageText(ImageTextSearchParam param);

主要工作就是进行一些简单的入参逻辑判断 然后把参数传递给内部服务接口,它就相当于PHP中controller的前置方法(可能不太恰当),内部服务接口文件写在service中

此类接口的实现 在impl.gshop中

主要的业务逻辑代码也写在这里 处理入参 访问DB等 相当于PHP的controller

访问DB 需要调用专门的DB Mapper 比如查询列表页功能

在实现层处理好入参后 调用XXXMapper的查询列表方法 类似PHP的model层的 只不过把相关的sql语句放在XML文件中

mapper接口在dao里面

XML在mapper里面







更多推荐

PHP 转JAVA SpringBoot 心得