文档纂写

一、相关平台与技术

1.1、平台软件

  1. 本次关于软件方面的设计,选择使用IDEA微信开发者工具VsCode作为我们的软件开发平台
  2. SSM框架Spring SpringMVC MybatisSpringBootMybatis-Plus,作为我们的web开发框架
  3. 使用MySQLRedis作为后台存储数据库的平台
  4. 同时使用Maven框架Gradle框架作为项目的管理工具

1.2、关键技术

1、MySQL

image-20220608005220212

  1. MySQL是一种在中小型网站中很受欢迎的开源式关系型数据库系统。
  2. 因为它的速度快,可靠性高,适应性强而受到青睐。在实现系统的过程中,不仅要设计好系统的模块,更需要设计一个完整实用的数据库,能够有效的存储,管理,操纵数据。
  3. SQL语言是专门进行数据库操作的语言
  4. 主要有三种:
    • 数据库定义语言,用于数据库定义和数据定义
    • 数据库操作语言,操作数据库中的数据
    • 数据库查询语言,查询数据库

2、Redis

image-20220608005629778

  1. Redis是什么
  2. redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地)目前,Vmware在资助着redis项目的开发和维护。
  3. 我们会使用redis对项目进行维护和缓存的处理

3、Spring框架(SSM =>S)

image-20220608005816428

  1. Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起
  2. 是针对bean的生命周期进行管理的轻量级容器(lightweight container)。
  3. Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOCAOPWeb MVC等功能。
  4. Spring可以单独应用于构筑应用程序,也可以和StrutsWebworkTapestry等众多Web框架组合使用
  5. 并且可以与 Swing等桌面应用程序AP组合。
  6. 因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。
  7. Spring框架主要由七部分组成,分别是 Spring CoreSpring AOPSpring ORMSpring DAOSpring ContextSpring WebSpring Web MVC

4、SpringMVC(SSM =>SS)

image-20220608004918334

  1. springmvcspring框架的一个模块springmvcspring无需通过中间整合层进行整合
  2. springmvc是一个基于mvc的web框架
  3. springmvc 表现层:方便前后端数据的传输
  4. Spring MVC 拥有控制器=>Dispatcher,作用跟Struts类似,接收外部请求,解析参数传给服务层
  5. MVC是指,C控制层M模块层V显示层这样的设计理念,而SSM框架里面SPRING MVC本身就是MVC框架,作用是帮助(某种意义上也可以 理解为约束)我们要按照MVC这样的设计来开发WEB项目
  6. 而另外两个框架spring主要是用作IOC,AOP等其他的一些设计原则,至于mybatis是用来方便操作数据库的,所以他们都在MV里面,至于V指的是展示部分,一般是指JSP,freemarks这种前提其实,和SSM就没有太大的关系了

5、Mybatis框架(SSM =>M)

image-20220608004426769

  • mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

  • 它是一款半自动的ORM持久层框架,具有较高的SQL灵活性,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性,但它的数据库无关性较低

    • 什么是ORM?

      Object Relation Mapping,对象关系映射。对象指的是Java对象,关系指的是数据库中的关系模型,对象关系映射,指的就是在Java对象和数据库的关系模型之间建立一种对应关系,比如用一个Java的Student类,去对应数据库中的一张student表,类中的属性和表中的列一一对应。Student类就对应student表,一个Student对象就对应student表中的一行数据

    • 为什么mybatis是半自动的ORM框架?

      mybatis进行开发,需要手动编写SQL语句。而全自动的ORM框架,如hibernate,则不需要编写SQL语句。用hibernate开发,只需要定义好ORM映射关系,就可以直接进行CRUD操作了。由于mybatis需要手写SQL语句,所以它有较高的灵活性,可以根据需要,自由地对SQL进行定制,也因为要手写SQL,当要切换数据库时,SQL语句可能就要重写,因为不同的数据库有不同的方言(Dialect),所以mybatis的数据库无关性低。虽然mybatis需要手写SQL,但相比JDBC,它提供了输入映射和输出映射,可以很方便地进行SQL参数设置,以及结果集封装。并且还提供了关联查询和动态SQL等功能,极大地提升了开发的效率。并且它的学习成本也比hibernate低很多

6、Mybatis-Plus

image-20220608004350086

  • MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发提高效率而生。
  • 我们的愿景是成为 MyBatis 最好的搭档,就像魂斗罗中的1P、2P,基友搭配,效率翻倍。
  • 特性方面
    • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
    • 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
    • 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
    • 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
    • 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
    • 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
    • 支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere
    • 内置代码生成器:采用代码或者 Maven 插件可快速生成 MapperModelServiceController 层代码,支持
    • 模板引擎,更有超多自定义配置等您来使用
    • 内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
    • 分页插件支持多种数据库:支持 MySQLMariaDBOracleDB2H2HSQLSQLitePostgreSQLServer 等多种数据库
    • 内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
    • 内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作

7、SpringBoot

image-20220608004833443

  • 我们知道,从 2002 年开始,Spring 一直在飞速的发展,如今已经成为了在Java EE(Java Enterprise Edition)开发中真正意义上的标准,但是随着技术的发展,Java EE使用 Spring 逐渐变得笨重起来,大量的 XML 文件存在于项目之中。繁琐的配置,整合第三方框架的配置问题,导致了开发和部署效率的降低。
  • Spring Boot 是伴随着 Spring 4.0 诞生的,从字面理解,Boot是引导的意思,因此 Spring Boot 旨在帮助开发者快速搭建 Spring 框架。Spring Boot 继承了原有 Spring 框架的优秀基因,使 Spring 在使用中更加方便快捷。
  • Spring 虽然使Java EE轻量级框架,但由于其繁琐的配置,一度被人认为是“配置地狱”。各种XML、Annotation配置会让人眼花缭乱,而且配置多的话,如果出错了也很难找出原因。Spring Boot更多的是采用 Java Config 的方式

8、SpringBoot分布式--微服务=>Spring Could

image-20220608004648189

image-20220608004708448

  • 微服务是未来发展的趋势,项目会从传统架构慢慢转向微服务架构,因为微服务可以使不同的团队专注于更小范围的工作职责、使用独立的技术、更安全更频繁地部署。而 继承了 Spring 的优良特性,与 Spring 一脉相承,而且 支持各种REST API 的实现方式。Spring Boot 也是官方大力推荐的技术,可以看出,Spring Boot 是未来发展的一个大趋势。

9、HTTP协议

image-20220608010610186

  1. HTTP 协议介绍

    • HTTP(Hyper Text Transfer Protocol): 全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
    • HTTP 是一种应用层协议,是基于 TCP/IP 通信协议来传递数据的,其中 HTTP1.0、HTTP1.1、HTTP2.0 均为 TCP 实现,HTTP3.0 基于 UDP 实现。现主流使用 HTTP1.0 和 HTTP3.0协议: 为了使数据在网络上从源头到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议,它最终体现为在网络上传输的数据包的格式。
  2. HTTP 协议的工作过程

  3. 当我们在浏览器输入一个网址,此时浏览器就会给对应的服务器发送一个 HTTP 请求,对应的服务器收到这个请求之后,经过计算处理,就会返回一个 HTTP 响应。并且当我们访问一个网站时,可能涉及不止一次的 HTTP 请求和响应的交互过程。

    • 客户端: 主动发起网络请求的一端
    • 服务器: 被动接收网络请求的一端
    • 请求: 客户端给服务器发送的数据
    • 响应: 服务器给客户端返回的数据
    • image-20220608010519763
posted @ 2022-06-08 01:09  澜璨  阅读(50)  评论(0编辑  收藏  举报