SpringMVc
SpringMVC概述学习SpringMVC我们先来回顾下现在web程序是如何做的,咱们现在web程序大都基于三层架构来实现。
三层架构
浏览器发送一个请求给后端服务器,后端服务器现在是使用Servlet来接收请求和数据
如果所有的处理都交给Servlet来处理的话,所有的东西都耦合在一起,对后期的维护和扩展极为不利
将后端服务器Servlet拆分成三层,分别是web、service和dao
web层主要由servlet来处理,负责页面请求和数据的收集以及响应结果给前端
service层主要负责业务逻辑的处理
dao层主要负责数据的增删改查操作
servlet处理请求和数据的时候,存在的问题是一个servlet只能处理一个请求
针对web层进行了优化,采用了MVC设计模式,将其设计为controller、view和Model
controller负责请求和数据的接收,接收后将其转发给service进行业务处理
service根据需要会调用dao对数据进行增删改查
dao把数据处理完后将结果交给service,service再交给controller
controller根据需求 ...
Redis
快速入门
初识NoSQLNoSQL:非关系型数据库
初识Redis简介Redis, 远程词典服务器,是一个基于内存的键值型NoSQL数据库
特征:
键值型,valuie支持多种不同数据结构,功能丰富
单线程,每个命令具备原子性
低延迟,速度快(基于内存,IO多路复用,良好的编码)
支持数据持久化
指出主从集群,分片集群
支持多语言客户端
安装RedisRedis安装说明大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包。因此课程中我们会基于Linux系统来安装Redis.
此处选择的Linux版本为CentOS 7.
Redis的官方网站地址:https://redis.io/
1.单机安装Redis1.1.安装Redis依赖Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖:
1yum install -y gcc tcl
1.2.上传安装包并解压然后将课前资料提供的Redis安装包上传到虚拟机的任意目录:
例如,我放到了/usr/local/src 目录:
解压缩 ...
Linux
Linux基础命令Linux的目录结构
/,根目录是最顶级的目录了
Linux只有一个顶级目录:/
路径描述的层次关系同样适用/来表示
/home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt
ls命令功能:列出文件夹信息
语法:ls [-l -h -a] [参数]
参数:被查看的文件夹,不提供参数,表示查看当前工作目录
-l,以列表形式查看
-h,配合-l,以更加人性化的方式显示文件大小
-a,显示隐藏文件
隐藏文件、文件夹在Linux中以.开头的,均是隐藏的。
默认不显示出来,需要-a选项才可查看到。
pwd命令功能:展示当前工作目录
语法:pwd
作用是:输出当前所在的工作目录
cd命令功能:切换工作目录
语法:cd [目标目录]
参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录
HOME目录每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。
普通用户的HOME目录,默认在:/home/用户名
root用户的HOME目录,在:/root
...
私服配置说明
私服这一节,我们主要学习的内容是:
私服简介
私服仓库分类
资源上传与下载
首先来说一说什么是私服?
私服简介团队开发现状分析
(1)张三负责ssm_crm的开发,自己写了一个ssm_pojo模块,要想使用直接将ssm_pojo安装到本地仓库即可
(2)李四负责ssm_order的开发,需要用到张三所写的ssm_pojo模块,这个时候如何将张三写的ssm_pojo模块交给李四呢?
(3)如果直接拷贝,那么团队之间的jar包管理会非常混乱而且容器出错,这个时候我们就想能不能将写好的项目上传到中央仓库,谁想用就直接联网下载即可
(4)Maven的中央仓库不允许私人上传自己的jar包,那么我们就得换种思路,自己搭建一个类似于中央仓库的东西,把自己的内容上传上去,其他人就可以从上面下载jar包使用
(5)这个类似于中央仓库的东西就是我们接下来要学习的==私服==
所以到这就有两个概念,一个是私服,一个是中央仓库
私服:公司内部搭建的用于存储Maven资源的服务器
远程仓库:Maven开发团队维护的用于存储Maven资源的服务器
所以说:
私服是一 ...
白盒测试
白盒测试代码逻辑的测试
定义: 白盒测试是一种测试方法,测试人员考虑程序的内部结构、代码逻辑和算法来验证软件的正确性
特点:优点:代码覆盖率高
缺点:1.覆盖所有代码路径难度大 2.业务功能可能覆盖不全 3.测试开销大
使用场景:
单元测试(主要): 白盒测试常用于测试单个模块、函数或方法,确保其在各种输入条件下都能正确执行。
集成测试: 在系统集成的过程中,白盒测试可以用于验证各个模块之间的接口和数据流是否正确。
性能测试: 白盒测试也可用于评估系统的性能,例如检查代码中的效率和资源利用情况。
白盒设计方法(先静态后动态)设计用例一般使用基本路径测试,重点模块使用多种覆盖率标准
静态==>【1.桌面检查 2.代码审查 3.代码走查 】(手动)【4.代码扫描工具】(自动化)
动态==>1.逻辑覆盖法==>1.语句覆盖 2.判定覆盖 3.条件覆盖 4.判定条件覆盖 5.条件组合覆盖 6.路径覆盖
2.基本路径测试法
动态测试方法1.逻辑覆盖法是对程序逻辑结构的遍历实现程序的覆盖
语句覆盖介绍 ...
git
Git简介什么是Git?
Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等)在软件开发过程中被广泛使用
Git仓库分为两种:
本地仓库:开发人员自己电脑上的Git仓库
远程仓库:远程服务器上的Git仓库
commit:提交,将本地文件和版本信息 保存到本地仓库
push:推送,将本地仓库文件和版本信息上传到远程仓库
pull:拉取,将远程仓库文件和版本信息下载到本地仓库
Git下载与操作
工作区、暂存区、版本库 概念
版本库:.git隐藏文件夹就是版本库,版本库中 存储了很多配置信息,日志信息和文件版本信息
工作区:包含.git 文件夹的目录就是 工作区 ,也成为工作目录,主要用于存放开发的代码
暂存区:.git 文件夹中有很多文件,其中一个index文件就是暂存区,也叫做stage 暂存区是一个临时保存修改文件的地方
工作区中文件的状态Git工作区中的文件存在两种状态:
untracked 未跟踪 (未被纳入版本控制)
tracked 已跟踪 (被纳入版本控制)
Unmodified 未修改状态
Mod ...
JavaWeb
Maven简介Maven是一款管理和构建java项目的工具
Maven的作用?
方便依赖管理
方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题
统一项目结构
提供标准,统一的项目结构
项目构建
标准跨平台(Linux、Windows、MacOS)的自动化项目结构方式
Maven坐标什么是坐标?
Maven中的坐标是==资源的唯一标识== , 通过该坐标可以唯一定位资源位置
使用坐标来定义项目或引入项目中需要的依赖
Maven坐标主要组成
groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
version:定义当前项目版本号
注意:
上面所说的资源可以是插件、依赖、当前项目。
我们的项目如果被其他的项目依赖时,也是需要坐标来引入的。
依赖管理依赖配置依赖:指当前项目运行所需要的jar包。一个项目中可以引入多个依赖
例如:在当前工程中,我们需要 ...
MySQL
前言在我们讲解SpringBootWeb基础知识(请求响应案例)的时候,我们讲到在web开发中,为了应用程序职责单一,方便维护,我们一般将web应用程序分为三层,即:Controller、Service、Dao 。
之前我们的案例中,是这样子的请求流程:浏览器发起请求,先请求Controller;Controller接收到请求之后,调用Service进行业务逻辑处理;Service再调用Dao,Dao再解析user.xml中所存储的数据。
xml文件中可以存储数据,但是在企业项目开发中不会使用xml文件存储数据,因为不便管理维护,操作难度大。 在真实的企业开发中呢,都会采用数据库来存储和管理数据,那此时,web开发调用流程图如下所示:
首先来了解一下什么是数据库。
数据库:英文为 DataBase,简称DB,它是存储和管理数据的仓库。
像我们日常访问的电商网站京东,企业内部的管理系统OA、ERP、CRM这类的系统,以及大家每天都会刷的头条、抖音类的app,那这些大家所看到的数据,其实都是存储在数据库中的。最终这些数据,只是在浏览器或app中展示出来而已,最终数据的存储和管理都是 ...
Java
一、Java概述1、JVM、JRE和JDK的关系 JVM
是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。
JRE
包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包:包含了运行Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包
JDK
是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就无需再单独安装JRE了。其中的开发工具:编译工具(javac.exe),打包工具(jar.exe)等
2、什么是跨平台性?原理是什么所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。
实现原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。
Java语言有哪些特点简单易学(Java语言的语法与C语言和C++语言很接近)
面向对象(封装,继承,多态)
平台无关性(Java虚拟机实现平台无关性) ...