【spring boot】初学者项目快速练手

一小时带你从0到1实现一个SpringBoot项目开发_哔哩哔哩_bilibili

一、基础知识

1.注解

二、简介

三、项目结构

1.API/Controller层

业务控制层,控制业务层Service,并把数据返回给移动端和前端,直接转发Service的业务处理结果,不能暴露Service的业务逻辑

新建一个Controller类,有两种写法:

(1)@Controller+@RequestMapping+@ResponseBody方式
@Controller
public class TestController {

    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    @ResponseBody
    public String hello() {
        return "Hello World!";
    }

}
(2)@RestController+@GetMapping(PostMapping、PutMapping…)方式
@RestController
public class TestController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello World!";
    }

}

2.Service层

业务层/服务层,存放内部的业务逻辑,比如用户的增删改查、发送验证码或邮件,对分布式部署起到重要作用

3.Data Access Object(DAO)层

数据库持久化层,常用的实现持久化层的框架有JPA(不用手写SQL,项目复杂程度一般,追求稳定,迭代速率低的可以用JPAMyBatis(需要手写SQL,项目较复杂,需求变更频繁,迭代速度快的可以用MyBatis

4.数据库

四、代码结构

1.生成Spring Boot项目的主程序

(1)在官网下载

Spring Initializr

选好需求模块,快速生成一个初始的项目代码,会生成一个demo文件

打开intellj idea,导入demo文件

(2)直接在intellj idea中创建

IDEA使用Spring Initializer快速创建Spring Boot项目(超详细)_idea springinitializer-****博客

2.目录结构

文件夹/文件 说明
src-main-resources 保存前端的静态文件或者配置文件, js css images
src-main-java 保存源码
pom.xml 项目对象模型,是Maven项目的核心配置文件,定义了项目的所有属性,包括项目的名称、版本、依赖关系、构建配置等,轻松管理项目的构建和依赖关系
src-main-resources-application.properties Spring Boot应用的配置文件,可以修改一些默认设置

3.运行

(1)运行BootDemoApplication

有main方法

需要先把JPA的依赖注释掉,然后打开localhost:8080验证是否配置成功

(2)@RestController创建API

新建一个Controller类,访问地址设置为:http://localhost:8080/hello

可以返回list对象

(3)rest api规范

五、项目开发

从数据库层依次往上层构建

1.创建数据库表

初始化数据库,添加数据

中配置数据库

2.构建Data Access层

在pom.xml中引入JPA依赖

新建一个package:dao

在package中新建一个类:Student,查询数据库,将数据映射为面向对象的数据

在package中新建一个Interface:StudentRepository,作为data access层

3.构建Service层

新建一个package:service

在package中新建一个Interface:StudentService

在package中新建一个类:StudentServiceImpl,实现StudentService

4.构建API层

新建一个package:controller

在package中新建一个类:StudentController,

5.运行

可以返回数据库的结果

六、优化

新建一个StudentDTO类

修改StudentService

新建一个类:StudentConverter,将数据库对象转化为返回给前端的DTO对象

修改StudentServiceImpl类

新建一个Response类,返回异常

修改StudentController

运行返回结果

上一篇:【深度学习】PyTorch框架(4):初始网络、残差网络 和密集连接网络


下一篇:WPF/C#:实现导航功能