likes
comments
collection
share

全栈工程师:一个功能的完整生命周期

作者站长头像
站长
· 阅读数 53

不知不觉自己慢慢成了一个全栈工程师,也独立的负责了一整个业务功能的开发。从数据库,业务接口,前端,部署,数据报表等都是由自己一个人独立完成。分别对应功能开发的不同技术。我们首先从数据库设计开始。

1. 数据库

1.1. 数据库创建

全栈工程师:一个功能的完整生命周期

以mysql为例,需要注意一下字符编码集(utf8mb4),主键必须要有。我们按照自己的需求编写对应的数据结构即可。

1.2. 代码生成

全栈工程师:一个功能的完整生命周期

可以自动生成好代码,非常方便快捷。省去了写mapper,xml,entity,service。只需要编写controller就可以了。

2. 业务代码编写

2.1. service代码编写

框架使用现在比较常用的mybatisPlus即可。采用lambda调用。

全栈工程师:一个功能的完整生命周期

全栈工程师:一个功能的完整生命周期

一个是列表,一个是更新接口。

2.2. controller编写

全栈工程师:一个功能的完整生命周期

将service的数据吐到前端即可。

2.3. 配置注意点

2.3.1. mybatis配置

  • 需要在bootstrap.yml文件中配置对应的实体类解析,配置文件路径。

全栈工程师:一个功能的完整生命周期

  • mybatis中的mapper接口扫描,将mapper接口加载到spring容器中

全栈工程师:一个功能的完整生命周期

在有Configuration注解类上进行标记即可。

3. 前端

以一个前端VUE项目为例,我们只需要关注这三个模块即可。可以解决我们90%的业务功能。

全栈工程师:一个功能的完整生命周期

3.1. 数据类

api.js记录所有的请求地址

全栈工程师:一个功能的完整生命周期

system.js(自定义) 编写我们所有的GET,POST请求。底层使用axios来进行调用

全栈工程师:一个功能的完整生命周期

3.2. 页面

可以copy一个常用的页面,然后进行更改。permissionPage.vue中

全栈工程师:一个功能的完整生命周期

templete中编写我们的页面布局。script中编写我们的方法

3.2.1. 点击事件

使用@符号关联下面method中的方法。

全栈工程师:一个功能的完整生命周期

3.2.2. 属性绑定

:符号关联下面的data数据中的对象,实现双向绑定。

全栈工程师:一个功能的完整生命周期

3.2.3. 初始调用

我们可以把需要初始调用的放到mounted中。

全栈工程师:一个功能的完整生命周期

3.2.4. 其他

其他组件调用方法,可以直接参照对应的网址上的demo即可。写的非常详细。vue组件页面

3.3. 报表

报表有一点特殊,使用的阿里的G2引擎。G2图表,项目中使用的是viser,一个非常好用丰富的图表库。可以根据自己的业务需要进行绘制对应的数据即可。Viser图表。成品如下:

全栈工程师:一个功能的完整生命周期

实现了折线图和饼图,接入也是非常快。按照官网的例子来即可。

4. 部署

基本东西做完后,就涉及到部署了,项目是前后端的项目,所以涉及到前后端的部署。前端部署采用nginx部署。后端有基本的java环境即可。

4.1. 后端部署

按照网上的教程,安装JDK8的环境。我们可以通过Alibaba Cloud Toolkit直接快捷的将我们的jar包编译打包到服务器上。

全栈工程师:一个功能的完整生命周期

具体操作步骤,可以参照我的上一篇文章。这样就可以部署到服务器上后直接重新启动。

4.2. 前端部署

可以按照网上的教程,安装好nginx即可。常用的指令有

nginx -t   # 测试指令是否正常
nginx -s reload # 修改后,刷新配置
nginx -c conf/nginx.conf # 指定配置文件

4.2.1. 转发脚本

全栈工程师:一个功能的完整生命周期

vue项目按照上面的配置即可。监控的端口是443,如果没有域名,证书的情况下,监控80端口即可。同样也可以采用Alibaba Cloud Toolkit将前端build好的dist文件直接打包到远程服务器上。

5. 总结

自己独立开发的过程中,肯定会遇到各种各样的问题,不要担心,细心去解决。在独立开发过程中需要不断丰富自己的技能数,根据业务场景,是否采用分布式存储,微服务,分布式事务,限流等等。

转载自:https://juejin.cn/post/7250008208160210981
评论
请登录