SpringBoot后台系统--新手教程(一)创建SpringBoot项目的前期准备

本文介绍了创建SpringBoot项目所需的知识,包括三层架构的组成:表现层(Web)、业务层(Service)和持久层(DAO)。在JavaEE开发中,常采用B/S架构。前后端分离使得前端和后端职责明确,通过接口文档进行协作。SpringBoot简化了JavaWeb开发,提供自动配置、内置服务器等特性,降低了开发复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们简单看一下创建SpringBoot项目所需要的知识和前期的准备

三层架构

开发架构中一般有俩种架构,C/S架构(客户端/服务器),B/S架构(浏览器/服务器)。

在我们JavaEE开发中,几乎全是基于B/S架构的开发。

三层架构分为:

  • 表现层(web层)
    • 表现层也就是我们常说的Web层,它负责接收客户端请求,并向客户端响应结果,通常是客户端使用http请求web层,web层需要接收http请求,完成http请求。
    • 表现层是依赖于业务层的,当表现层接收到客户端请求,会调用业务层进行业务处理,并将处理结果响应给客户端。
  • 业务层
    • 业务层也就是Service层,它是负责进行业务逻辑处理的,和我们开发的需求息息相关。
    • 虽然web层(表现层)依赖于我们的业务层,但我们的业务层并不依赖表现层,但在业务层进行业务处理时会依赖持久层。
    • 当我们做数据持久化时需要保证事务的一致性。
  • 持久层
    • 持久层也就是dao层。它是负责数据持久化的。通俗一点讲,持久层就是和数据库进行交互,对数据库进行增删改查的。

前后端分离

  • 什么是前后端分离

    传统开发:前端–>html静态页面–>后端–>JSP

    前后端分离开发:前端只负责前端的代码编写,后端只负责服务端的代码编写,前端和后端之间协商好接口文档即可。

    【接口文档(URL、参数、数据类型…)】

  • 好处有什么

    • 后端完全不用管前端数据怎么展示
    • 前端只需根据接口文档写好接口即可

【最后前后端集成即可】

解耦合

  • 打个比方;两兄弟的工资都共同存在一个银行卡里面,假如有一天,弟弟需要用钱,那么需要找哥哥商量一下,然后再取钱,这就是耦合;后来某天弟弟发现他自己的工资可以单独开一张银行卡存起来,这样等到急需用钱的时候就可以直接取,这就是解耦。
  • 在软件工程中,模块之间是存在依赖关系就必然存在耦合,理论上说绝对的零耦合是做不到的,但可以通过一些现有的方法将耦合降至最低,降低耦合度即可理解为解耦。
  • 在工作设计时候,尽量减少代码耦合,如果发现代码耦合,就要采取解耦技术,让数据模型,业务逻辑,视图显示三层之间彼此降低耦合,把关联度降到最低,不至于牵一发而动全身。原则上就是A功能的代码不要写在B的功能代码中,如果两者之间需要交互,可以通过接口,通过消息,甚至可以引入框架,但总两者不要直接交叉写。

解耦核心思想是【彼此独立,互不依赖】

什么是Spring Boot

SpringBoot是所有基于Spring开发的项目起点。SpringBoot整合了很多技术,提供了JavaEE的大整合。

特点:

  • 部署变得简单:内置了三种Servlet容器,Tomcat、jetty,undretow,只需要一个Java的运行环境就可跑SpringBoot项目。

  • 自动配置:SpringBoot的自动配置特性利用了Spring对条件化配置的支持,合理的推测应用所需的bean并自动化他们。

  • 是一个JavaWeb的开发框架。

  • 简化开发,约定大于配置。

  • SpringBoot整合了所有框架,提供各种默认配置来简化配置,开箱即用。

  • 没有沉余代码生成和XML配置要求。

导入数据

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for book
-- ----------------------------
DROP TABLE IF EXISTS `book`;
CREATE TABLE `book`  (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `author` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of book
-- ----------------------------
INSERT INTO `book` VALUES (1, 'java实战', '张三');
INSERT INTO `book` VALUES (2, 'html进阶', '李四');
INSERT INTO `book` VALUES (3, 'javaWeb', '王五');

SET FOREIGN_KEY_CHECKS = 1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值