跨专业零基础新手的Java后台接口开发之路(一)之开发流程

个人背景
工科出身,本科水过C语言。工作一年后辞职考研,目前已上岸。代码能力仅仅是考研机试水平,项目经验为0。

软件准备
开发工具:如Idea、Eclipse
数据库可视化软件:如 Navicat
测试软件:如 Postman
版本控制:Git

伊始
看了不到一周的Java,就被分配了第一个项目,做某网站的后台接口开发。当时,我对接口的理解为一个不提供具体实现方法,只提供方法名的抽象类。自己看书时也在VSCode中实现过几次,但对于什么叫做接口开发还没有明确的概念。所以当我看到这个项目结构时,内心是崩溃的。跨专业零基础新手的Java后台接口开发之路(一)之开发流程_第1张图片
(当时我连idea都不知道,还是师兄帮忙配置导入的项目框架)

之前自己实现的几个接口把接口定义和实现方法直接定义在一个java文件里,看到这么多文件目录首先是觉得莫名奇妙。于是开始拼命百度,无奈大部分资料都是建立在一定的项目基础之上,真正面向初学者的少之又少。所以,写这篇博客的初衷,也是希望能让那些和我境遇相似的朋友们有一些参考,少走些弯路。

注:项目基于springboot和mybatis创建

开发流程
首先,应该对开发工具有一定了解。Java目前主流的开发工具有Idea,Eclipse等。关于他们的使用教程网上都有很详细说明,这里主要讲一下整个工程文件中需要用的各个文件夹究竟存了些什么东西,有什么作用。

先给出讲解顺序(只是我个人认为这个顺序比较容易理清逻辑,大佬请无视)

Controller->Service->Implement->Dao/Mapper

- Controller
负责具体的业务模块流程的控制,在此层要调用service层的接口来控制业务流程。(以上这句话来自网络) 讲人话就是,你在Controller中提供了要请求url,并且调用service中的接口来实现具体的功能。可能看到这,大家还是云里雾里的,那么看看下面的代码你应该就明白了。

//从URL得到的信息
@PostMapping("saveOrUpdate")
//功能为存储或更新;参数根据实际情况而定,如果有,要声明类型,这里没有写
//SaveOrUpdateCodeParam为自建的参数类,根据实际需求创建
public Object saveOrUpdate(@RequestBody  SaveOrUpdateCodeParam saveOrUpdateCodeParam){
        //调用service层的方法
        return codeService.saveOrUpdate(saveOrUpdateCodeParam);
}

注解的解释网上有很多,这里简单说一下
@PostMapping 是一个组合注解,是@RequestMapping(method =
RequestMethod.POST)的缩写。如果是用Get方法,则用@GetMapping

@RequestBody 主要用来接收前端传递给后端的json字符串中的数据。不知道json是什么的同学,可以先把它理解为一个字典组成的数组

我们注意到,saveOrUpdate是从service中调用的,现在就来看看service是干嘛的。

- Service
Service层主要负责业务模块的逻辑应用设计。在service层中,只提供了接口,却没有对其进行实现,而实现过程是放在Service\Impl中。

例:

public interface CodeService {
     Response saveOrUpdate(SaveOrUpdateCodeParam saveOrUpdateParam);
}

- Implement
这一层顾名思义就是实现service层中的接口,我们的算法逻辑就是写在这一层里了。相比之下,上面的controller和service层更像是一些模板化的代码,只要你看几遍,就算是没有编程经验的人也能写个大概出来。目前来看,接口实现的主要功能以增、删、改、查四种为主。对于我这种初学者来说,写接口主要就是写impl层和mapper层。尤其是对于一些简单的接口来说,如果只需要返回一些简单的数据库信息,那么连implement层都不怎么重要了,代码逻辑直接就可以在mapper中实现。

好,那么我们这就来看看这个神通广大的mapper到底是个啥~

- Mapper

这一层的目的就是直接对数据库执行操作。我们的接口归根结底是要给前端返回信息的,这些信息不是程序员们一拍大腿就凭空出现了,而是事先已经存储在了数据库中。接口只不过是把数据库的数据提取出来,经过加工之后返回的前端。

而对数据库的操作无非是增删改查4种,实际应用中又以查询功能最为广泛。说起来简单,但实际操作中经常需要同时对数据库的多个table同时进行操作,所以要想实现需求,还是需要些小技巧的。而关于SQL语句的具体使用就不是本篇博客的讨论范围了,网上有大量的免费教程,大家酌情选择就好。

到这里,这篇博客差不多就结束了。这是我第一次写这种比较长的博客,很多地方说的比较含糊。当然也是因为自己也是新人,水平有限哈哈 。不过后台接口开发的大致流程基本就是这样。实际开发时还会经常和VO层、Param层、DTO层打交道(见文章开头的截图)。这些内容会继续在这个系列中更新,我也会结合自己实际遇到的问题,把一些爬过的坑写在这个系列里,希望自己能尽快有时间完成下一篇博客吧!

你可能感兴趣的:(Java,接口开发)