黑马程序员JavaWeb开发|案例:tlias智能学习辅助系统(上)准备工作、部门管理

本文主要是介绍黑马程序员JavaWeb开发|案例:tlias智能学习辅助系统(上)准备工作、部门管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、准备工作

1.明确需求

根据产品经理绘制的页面原型,对部门和员工进行相应的增删改查操作。

2.环境搭建

将使用相同配置的不同项目作为Module放入同一Project,以提高相同配置的复用性。

  • 准备数据库表(dept, emp)=== 资料中包含了创建表的代码
  • 创建springboot工程,引入对应的起步依赖
  • 配置application.properties中引入mybatis的配置信息,准备对应的实体类
  • 准备对应的Mapper(Dao===数据访问),Service(接口,实现类===逻辑处理),Controller(接受请求、响应数据)基础结构

👆添加相应依赖

IDEA:*.properties文件中文乱码解决方案_xx.properties注释中文乱码-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/u010285974/article/details/107102644👆修改配置文件中的中文乱码情况

  • pojo:存放的是两个实体类,实体类中的属性(驼峰命名)和表结构的字段(下划线分割)是一一对应的;
  • controller:控制层,接受前端发送的请求,对请求进行处理,并响应数据;
  • service:业务逻辑层,准备两个接口,并准备了两个接口的实现类,在实现类上面加了注解@Service,表示将当前实现类交给IOC容器管理,成为IOC容器里的bean对象;
  • Mapper:在mapper接口上面加上注解@Mapper。

3.开发规范

基于当前最主流的前后端分离模式进行开发。

前端开发人员将打包好的前端工程部署在ngix服务器上运行,后端开发人员将打包好的服务端程序运行在Tomcat服务器上。

前端向后端请求数据,再有后端给前端响应数据。

所以前后端在开发过程中需要共同遵守【接口文档】(根据产品经理绘制的页面原型和需求制作)进行开发。

本案例的前后端交互是根据Restful风格的接口进行交互的。

  • REST(REpresentational State Transfer),表述性状态转换,是一种软件架构风格。
  • 前后端交互统一响应结果Result

整体开发流程:

查明页面原型明确需求==》阅读接口文档==》思路分析==》接口开发==》接口测试==》前后端联调


二、部门管理

1.查询部门

需求分析:

查询全部数据(由于部门数据比较少,不考虑分页)

思路流程⭐:

前端发起一个查询部门的请求

=====》

被DeptController处理

  1. 接收请求;
  2. 调用service查询部门;
  3. 响应(封装在统一响应结果Result中相应给前端)

=====》

DeptService进行逻辑处理(调用mapper接口查询)

=====》

DeptMapper数据处理(selec * from dept;)

=====》

查询访问数据库

代码编写:

1)@Slf4j:定义日志记录对象

注意:项目开发过程中,尽量不要使用sout输出日志,使用日志记录框架记录日志。

private static Logger log = LoggerFactory.getLogger(DeptController.class);

固定代码,lombok为了简化代码书写,可以直接增加注释@Slf4j,定义日志记录对象

2)@GetMapping:限定接口请求方式为GET

3)@Autowird:依赖注入

当标注的属性是接口时,注入的是这个接口的实现类

查询操作:

前后端联调:

解压打包文件到没有中文路径的目录下,双击ngix.exe运行,然后打开设备管理器==详细信息里面查看ngix是否正常运行==访问测试:localhost:90访问

按下F12,打开浏览器的开发者工具,抓取这次网络请求

2.删除部门

需求分析:

弹出确认框 , 提示 "您确定要删除该部门的信息吗 ?"  如果选择确定 , 则删除该部门 , 删除成功后 , 重新刷新列表页面。  如果选择了取消,则不执行任何操作。

代码编写:

1)@PathVariable:获取路径参数

将URL中占位符参数绑定到Controller处理方法的输入参数中

表示获取路径变量中的id,然后绑定给方法中的id参数

DeptController(设置url,接收响应)==>DeptService(接口)==>DeptServiceImpl(实现类)==>DeptMapper(数据库操作)

删除操作:

前后端联调:

3.新增部门

需求分析:

1.1 点击新增部门,会打开新增部门的页面。 

1.2 部门名称,必填,唯一,长度为2-10位。

代码编写:

1)@RequestBody:接收json参数

新增结果:

请求👇


响应👇

前后端联调:

4.Controller优化

可以看出上面的三种响应的地址有重复,可以将/depts抽取出来,变成公共地址,将后面的地址中有公共部分的地方进行删除

5.修改部门(自行实现)

需求分析:

根据id查询到数据然后再修改部门

代码编写:

结合查询和删除操作

修改结果:

测试时,需要注意注释掉删除部门操作,因为二者的url一致,会有冲突。

前后端联调:

这篇关于黑马程序员JavaWeb开发|案例:tlias智能学习辅助系统(上)准备工作、部门管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/589239

相关文章

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477