目录
开发规范-开发模式
前后端混合开发

前后端分离开发(当前最为主流的开发模式)
- 前端项目、后端项目 开发和部署都是分开的

开发流程:

开发规范-Restful
- REST(REpresentatial State Transfer),表述性状态转换,它是一种软件架构风格


注意:
1、REST是风格,是约定方式,约定不是规定,可以打破
2、描述功能模块通常使用复数形式(加s),表示此类资源,而非单个资源。如suers、bools...

Apifox

工程搭建

部门管理-查询部门
列表查询-接口开发
思路分析
三层架构每一层的职责:

功能实现

列表查询-数据封装
问题:
- 实体类属性名和数据库表查询返回的字段名一致,mybatis会自动封装
- 如果实体类属性名和数据库表查询返回的字段名不一致,不能封装

如何解决:
- 手动结果映射:通过@Results及@Result进行手动结果映射

- 起别名:在SQL语句中,对不一样的列名起别名,别名和实体类属性名一样

- 开启驼峰命名:如果字段名与属性名符合驼峰命名规则,mybatis会自动通过驼峰命名规则映射


前后端联调测试

Nginx的反向代理
使用反向代理的好处:安全、灵活、负载均衡

反向代理是一种网络架构,通过代理服务器为后端的服务器做代理,客户端的请求直接请求代理服务器,然后转发给后端的服务器

**1、location:**用于定义匹配路径的规则
**2、^~/api/:**表示精确匹配,即只匹配以/api/开头的路径
**3、rewrite:**该指令用于重写匹配到的路径
**4、proxy_pass:**该指令用于代理转发,它将匹配到的请求转发给位于后端的指令服务器

部门管理-删除部门
删除的条件:部门的ID
思路分析
三层架构每一层的职责:

Controller接收参数

**方式一:**通过原始地HttpServletRequest对象获取请求参数(繁琐,需要手动类型转换)

**方式二:**通过spring提供地@RequestParam注解,将请求参数绑定给方法形参(简洁,推荐)

@RequestParrequired属性默认为true,代表该参数必须传递,如果不传递将报错。如果参数可选,可以将属性设置为false。
**方式三:**如果请求参数名与形参变量名相同,直接定义方法形参即可接收。(省略@RequestParam)



部门管理-新增部门
思路分析-三层架构地每一层的职责

Controller接收参数

JSON格式的参数,通常会使用一个实体对象进行接收
**规则:**JSON数据的键名与方法形参对象的属性名相同,并需要使用@RequestBody注解标识
java
//新增部门
@PostMapping("/depts")
public Result add(@RequestBody Dept dept){
System.out.println("新增部门:"+ dept);
deptService.add(dept);
return Result.success();
}
// 新增部门
void add(Dept dept);
@Override
public void add(Dept dept) {
//1、补全基础属性-创建时间、更新时间
dept.setCreateTime(LocalDateTime.now());
dept.setUpdateTime(LocalDateTime.now());
//2、调用mapper接口
deptMapper.insert(dept);
}

部门管理-修改部门
查询回显-根据id查询部门

Controller接收参数

**路径参数:**通过请求URL直接传递参数,使用{...}来标识该路径参数,需要使用@pathVariable获取



修改数据


@RequestMapping

- 一个完整的请求路径,应该是类上的@RequestMapping的value属性+方法上的@RequestMapping的value属性

日志技术

缺点:
- 只能输出到控制台
- 不便于扩展、维护
程序中的日志,是用来记录应用程序的运行信息、状态信息、错误信息等。

常见的日志技术

JUL:JavaSE平台提供的官方日志框架,也被称为JUL。配置相对简单,但不够灵活,性能较差
Log4j:一个流行的日志框架,提供了灵活的配置选项,支持多种输出目标
Logback:基于Log4j升级而来,提供了更多的功能和配置选项,性能由于Log4j
SLF4J:简单日志门面,提供了一套日志操作的标准接口及抽象类,允许应用程序使用不同的底层日志框架
Logback快速入门
- **准备工作:**引入Logback的依赖(springboot项目中该依赖已传递)、配置文件Logback.xml
- **记录日志:**定义日志对象Logger,记录日志

java
package com.itheima;
import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.time.LocalDateTime;
public class LogTest {
private static Logger log = LoggerFactory.getLogger(LogTest.class);
@Test
public void testLog(){
// System.out.println(LocalDateTime.now() + " : 开始计算...");
log.debug("开始计算...");
int sum = 0;
int[] nums = {1, 5, 3, 2, 1, 4, 5, 4, 6, 7, 4, 34, 2, 23};
for (int num : nums) {
sum += num;
}
log.info("计算结果为:" + sum);
// System.out.println("计算结果为: "+sum);
// System.out.println(LocalDateTime.now() + "结束计算...");
log.debug("结束计算...");
}
}
配置文件详解
- 配置文件名:logback.xml
- 该配置文件是对Logback日志框架输出的日志进行控制的,可以来配置输出的格式、位置及日志开关等。
- 常用的两种输出日志的位置:控制台、系统文件

- 开启日志(ALL),关闭日志(OFF)

日志级别
日志级别指的是日志信息的类型,日志都会分级别,常见日志级别如下(级别由低到高):

可以在配置文件中,灵活的控制输出哪些类型的日志(大于等于配置的日志级别的日志才会输出 )

