day01
想要复习做项目的思路,接触一些企业级的开发技术.
写代码其实保持手感就行, 写程序的思路更为重要 做项目的过程中还是要多思考
目标:轻松做出管理系统 (增删改查为主)
企业中做项目的流程
需求分析 => 设计(概要设计、详细设计)=> 技术选型 =>
初始化 / 引入需要的技术(例如SSM) => 写 Demo => 写代码(实现业务逻辑) => 测试(单元测试 例如自己写的CRUD测试)=> 代码提交 / 代码评审 => 部署(开发好的项目放到云服务器 容器环境)=> 发布
需求分析
- 登录 / 注册
- 用户管理(仅管理员可见)对用户的查询或者修改
- 用户校验( 仅星球用户 )
技术选型:
前端:找时间自己再去了解一下 主要是为了做项目的连贯性
熟练之后可以自己去开发其他网站,主要还是框架 + CRUD
前端:三件套 + React + 组件库 Ant Design(蚂蚁金服开发的组件库 国内前端比较好的) + Umi(开发框架) + Ant Design Pro(现成的管理系统)
后端:
- Java
- Spring(依赖注入框架,帮助你管理 Java 对象,集成一些其他的内容)
- SpringMVC(web 框架,提供接口访问、restful接口等能力)
- MyBatis(Java 操作数据库的框架,持久层框架,对 jdbc 的封装)
- Mybatis-plus(对 mybatis 的增强,不用写 简单的sql 也能实现增删改查)
- SpringBoot(快速启动 / 快速集成项目。不用自己管理 spring 配置,不用自己整合各种框架 通过注解)
- junit 单元测试库
- mysql
部署:服务器 / 容器(平台)
这个项目主要是熟悉开发流程: 1.全局异常处理 2.自定义异常 3.通用返回对象 4.数据库建表在idea里面
前端初始化
需要参考最新的官方文档 不同时间的操作可能不同! ! !
- 初始化项目
- 引入框架(整合框架)
- 项目瘦身 Ant Design Pro(现成的管理系统 开箱即用) 有很多功能,把用不到的删除就行了
node.js 前端JS运行时环境 下载16长期维护版本
Ant Design Pro (现成的管理系统 开箱即用) 找轮子去用就行了实际上都是CV 这很正常
umi 也是前端框架 react对js的封装 umi是在react的基础上再次封装 目的都是为了写更少的代码完成更多的功能
yarn 包管理器 引入别人的组件(轮子)
npm 也是包管理器
react 前端的框架
Mock = none 把数据关闭其实真实的数据是在后台的这里设置为none 就是关闭了
Umi UI 可以理解为一种工具帮助我们自动生成代码
swagger: 接口文档工具
yarn -v # 查看版本 一般是在官网安装 安装之后可以使用 yarn命令 不同的项目用的也不一样 yarn install
瘦身
#package.json中 移除国际化 #执行 i18n-remove
app.tsx 整个文件的入口
global.less 全局样式文件
global.tsx 全局脚本文件
.prettierrc.js 美化前段的代码
playwright微软开发的自动化测试工具 模拟在浏览器中自动化操作 这里可以直接删除
经验:删除一个文件的时候保证这个文件没有被其他地方引用
后端初始化
三种初始化Java项目的方式
- Github 拉取
- SpringBoot 官⽅的模板生成器( https://start.spring.io/
- 直接在 IDEA 开发⼯具中⽣成 (推荐)
计划
-
初始化项目
-
前端初始化 20 min
- 初始化项目 ✔
- 引入一些组件之类的 ✔
- 框架介绍 / 瘦身 ✔
-
后端初始化 20 min
- 准备环境(MySQL 之类的)验证 MySQL 是否安装成功 - 连接一下 ✔
- 初始化后端项目,引入框架(整合框架)✔
-
-
登录 / 注册 20min
- 前端
- 后端
-
用户管理(仅管理员可见) 20 min
- 前端
- 后端
通过查看官方文档,书写 mabatis-plus demo 完成引入
MyBatis-Plus
<!--MyBatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
怎么快速找url
注意添加数据库名
spring:
application:
name: user-center
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/gjh
username: root
password: 1234
#session 失效时间
session:
timeout: 86400
server:
port: 8080
servlet: # 指定接口全局api
context-path: /api
mybatis-plus:
configuration:
map-underscore-to-camel-case: false
global-config:
db-config:
logic-delete-field: isDelete # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
启动类上增加包
找到mapper映射的相对路径
如果要引入 java 的包,可以去 maven 中心仓库寻找(http://mvnrepository.com/)
@resource
默认按照JavaBean的名称去注入
@autowired
按照类型去注入
junit
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
看引入的是import org.junit.jupiter.api.Test;
还是junit junit需要加@runwith
或者说换个地方去测试
为什么会这样呢?
暂时不管最好是在 下面那个测试类中去测试
@ Resource 按住Javabean的名称去注入 @Autowired按照类型去注入