由于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 心得
发布评论