Tlias系统-部门管理

目录

开发规范-开发模式

开发规范-Restful

Apifox

工程搭建

部门管理-查询部门

列表查询-接口开发

列表查询-数据封装

前后端联调测试

部门管理-删除部门

Controller接收参数

部门管理-新增部门

Controller接收参数

部门管理-修改部门

Controller接收参数

修改数据

@RequestMapping

日志技术

常见的日志技术

Logback快速入门

配置文件详解

日志级别


开发规范-开发模式

前后端混合开发

前后端分离开发(当前最为主流的开发模式)

  • 前端项目、后端项目 开发和部署都是分开的

开发流程:

开发规范-Restful

  • REST(REpresentatial State Transfer),表述性状态转换,它是一种软件架构风格

注意:

1、REST是风格,是约定方式,约定不是规定,可以打破

2、描述功能模块通常使用复数形式(加s),表示此类资源,而非单个资源。如suers、bools...

Apifox

https://apifox.com/

工程搭建

部门管理-查询部门

列表查询-接口开发

思路分析

三层架构每一层的职责:

功能实现

列表查询-数据封装

问题:

  • 实体类属性名和数据库表查询返回的字段名一致,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)

日志级别

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

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

相关推荐
小肖爱笑不爱笑6 天前
SpringBoot Web
java·http协议·分层解耦·web后端
却道天凉_好个秋9 天前
linux基础66——logrorate
linux·服务器·日志管理
better_liang9 天前
每日Java面试场景题知识点之-ELK技术栈在Java企业级项目中的应用
java·elk·elasticsearch·微服务架构·kibana·logstash·日志管理
运维有小邓@13 天前
企业集中式SIEM: Log360 可扩展架构(一)
日志管理
Hello World......8 个月前
互联网大厂Java面试:从Spring到微服务的深度探讨
数据库·spring boot·微服务·监控·java面试·日志管理·缓存技术
伊玛目的门徒9 个月前
解决backtrader框架下日志ValueError: I/O operation on closed file.报错(jupyternotebook)
python·backtrader·量化·日志管理·回测
Amd7941 年前
PostgreSQL 初始化配置设置
postgresql·性能优化·用户管理·日志管理·安全性·数据库配置·初始设置
飞的肖1 年前
ELK Stack 安装、配置以及集成到 Java 微服务中的使用
java·微服务·日志管理
飞的肖1 年前
在微服务架构中,处理日志的中间件和工具非常重要,它们帮助开发者收集、存储、分析和监控日志数据。一些常用的日志处理中间件及其特点、优缺点介绍。
微服务·中间件·日志管理