暂无个人介绍
(1)@Api:用在类上,例如Controller,表示对类的说明 (2)@ApiModel:用在类上,通常是实体类,表示一个返回响应数据的信息 (3)@ApiModelProperty:用在属性上,描述响应类的属性 (4)@ApiOperation:用在请求方法上,说明方法的用途、作用 (5)@ApiImplicitParams:用在请求的方法上,表示一组参数的说明 (6)@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
1、这里的 url 使用了 ?serverTimezone=GMT%2B8 后缀,因为Spring Boot 2.1 集成了 8.0版本的jdbc驱动,这个版本的 jdbc 驱动需要添加这个后缀,否则运行测试用例报告如下错误: java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more
1.基本概念 —数据:数据是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合 例如除了表示人的姓名、身高、体重的字符、数字是数据,人的照片、指纹、三维模型、语言指令等也都是数据。数据项、数据元素、数据对象都是数据 (1)数据项具有原子性,是不可分割的最小数据单位 (2)数据元素:是数据的基本单位,是数据集合的个体,通常由若干数据项组成,在计算机程序中通常作为一个整体来进行处理。 (3)数据对象是性质相同的的数据元素的集合,是数据的子集
使用DigestUtils实现md5加密算法
1.ES6模块化的介绍 在 ES6 模块化规范诞生之前,JavaScript 社区已经尝试并提出了 AMD、CMD、CommonJS 等模块化规范。 但是,这些由社区提出的模块化标准,还是存在一定的差异性与局限性、并不是浏览器与服务器通用的模块化 标准,例如: ⚫ AMD 和 CMD 适用于浏览器端的 Javascript 模块化 ⚫ CommonJS 适用于服务器端的 Javascript 模块化 太多的模块化规范给开发者增加了学习的难度与开发的成本。因此,大一统的 ES6 模块化规范诞生了!
一.什么是vue-cli (1)vue-cli 是 Vue.js 开发的标准工具。它简化了程序员基于 webpack 创建工程化的 Vue 项目的过程 (2)引用自 vue-cli 官网上的一句话: 程序员可以专注在撰写应用上,而不必花好几天去纠结 webpack 配置的问题。 中文官网:https://cli.vuejs.org/zh/ 二.安装vue-cli (1)vue-cli 是 npm 上的一个全局包,使用 npm install 命令,即可方便的把它安装到自己的电脑上: 随意打开一个cmd窗口,输入:npm install -g @vue/cli (2)输入vue -V即可验证是
1.我们先了解一下在实际的前端开发中需要做到的几点: ⚫ 模块化(js 的模块化、css 的模块化、资源的模块化) ⚫ 组件化(复用现有的 UI 结构、样式、行为) ⚫ 规范化(目录结构的划分、编码规范化、接口规范化、文档规范化、 Git 分支管理) ⚫ 自动化(自动化构建、自动部署、自动化测试)
错误原因 webpack-cli版本问题,运行npm install webpack-cli@4.9.0 -D即可
1.块元素 (1)常见的块元素有:<h1>~</h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>标签是最典型的块元素 (2)块元素的特点: ①独占一行 ②高度、宽度、外边距以及内边距都可以控制 ③宽度默认是容器(父级宽度)的100% ④是一个容器及盒子,里面可以放行内或者块级元素
一.盒子模型的介绍 1.盒子的概念 (1)页面中的每一个标签,都可看做是一个 “盒子” ,通过盒子的视角更方便的进行布局 (2) 浏览器在渲染(显示)网页时,会将网页中的元素看做是一个个的矩形区域,我们也形象的称之为 盒子 2. 盒子模型 ➢ CSS 中规定每个盒子分别由: 内容区域(content)、内边距区域(padding)、边框区域(border)、外边距区域(margin)构成,这就是 盒子模型 3. 记忆:可以联想现实中的包装盒
一.css基础认知 1.css的介绍 CSS:层叠样式表(Cascading style sheets),用于给页面中的HTML标签设置样式 2.CSS 语法规则 ➢ 写在哪里? • css写在style标签中, style标签一般写在head标签里面, title标签下面 ➢ 怎么写?
1.标题标签 ➢ 场景:在新闻和文章的页面中,都离不开标题,用来突出显示文章主题 ➢ 代码: h系列标签
1.BootStrap简介 (1)Bootstrap 是由 Twitter 公司开发维护的前端 UI 框架,它提供了大量编写好的 CSS 样式,允许开发者结合一定HTML 结构及JavaScript,快速编写功能完善的网页及常见交互效果。
1.html写的静态页面如下:
当SQl语句的占位符和映射接口方法的参数名不一致时,需要将某个参数强行注入到某个占位符变量上时,可以使用@Param这个注解来标注映射的关系(@Param(“占位符的参数名”) 数据类型 自己定义的参数名)
使用SpringMVC获得请求参数 一.客户端请求参数的格式是:name=value&name=value 二.服务器要获得请求的参数,有时还需要进行数据的封装,SpringMVC可以接收如下类型的参数 (1)基本类型参数 (2)POJO类型参数 (3)数组类型参数 (4)集合类型参数
1.append():父元素将子元素追加到末尾 对象1.append(对象2):将对象2添加到对象1元素内部,并且在尾部 2.prepend():父元素将子元素追加到开头 对象1.prepend(对象2):将对象2添加到对象1元素内部,并且在开头 3.appendTo(): 对象1.appendTo(对象2):将对象1添加到对象2内部,并且在尾部 4.prependTo(): 对象1.prependTo(对象2):将对象1添加到对象2内部,并且在开头 5.after():添加元素到元素后面 对象1.after(对象2):将对象2添加到对象1后面。对象1和对象2是兄弟关系
1.$(document).ready()的作用 $(document).ready(function(){.... })这个函数的作用和window.onload差不多,不同的是 (1)onload()的方法是在页面加载完成后才发生,这包括DOM元素和其他页面元素(例如图片)的加载 (2)$(document).ready()所要执行的代码是在DOM元素被加载完成的情况下执行,所以,使用document.ready()方法的执行速度比onload()的方法要快。
2.为什么要实现序列化 1.网络传输:网络传输的数据都必须是二进制数据,但是在Java中都是对象,是没有办法在网络中进行传输的,所以就需要对Java对象进行序列化,并且要求这个序列化是可逆的,也就是说要可以进行反序列化,否则别人都不知道你传递的是什么信息。 2.对象持久化:即将内存中的对象状态保存到文件或者数据库中 3.实现分布式对象,如RMI(远程方法调用)要利用对象序列化运行远程主机上的服务,就像在本机上运行对象时一样
1.浮点型使用细节 (1)Java浮点类型也有固定的范围和字段长度,不受具体OS的影响 (2)Java的浮点型常量,默认为double型,声明float型常量,需要后面加“f”或“F” (3)通常情况下,应该使用double型,因为它比float型更精确
1.2 文件流 (1)文件在程序中是以流的形式来操作的 (2)流:数据在数据源(文件)和程序(内存)之间经历的路径 ①输入流:数据从数据源(文件)到程序(内存)的路径 ②输出流:数据从程序(内存)到数据源(文件)的路径
1.基本介绍 字符类型可以表示单个字符,字符类型是char,char是两个字节。多个字符我们使用字符串String。 2.字符类型使用细节 (1)字符常量是单引号(’ ‘)括起来的单个字符。例如:char c1 = ‘a’; char c2 = ‘中’; (2)Java中还允许使用转义字符’',来将其后的字符转变为特殊字符常量。例如:char c3 = ‘\n’;//表示换行符 (3)在Java中,char的本质是一个整数,在默认输出时,是Unicode码对应的字符。要输出对应的数字,可以(int)字符
$.ajax()的实现方式
1.有没有小伙伴遇见过下面的异常,翻译过来就是不合法的状态异常:加载应用上下文失败
1.基本介绍 Java提供了四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围): 1)公开级别:用public修饰,对外公开 2)受保护级别:用protected修饰,对子类和同一个包中的类公开 3)默认级别:没有访问修饰符号,向同一个包的类公开 4)私有级别:用private修饰,只有类本身可以访问,不对外公开 ———————————————— 版权声明:本文为CSDN博主「yqd666」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/y516369/article/details/
@requestBody注解的作用 主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的); 1.使用@requestBody. (1)当请求contentType为:application/json类型的请求,数据类型为json时, json格式如下
一.异常介绍 Java语言中,将程序中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常) 二.异常体系 异常机制其实是帮助我们找到程序中的问题,异常的根类是 java.lang.Throwable ,其下有两个子类: java.lang.Error 与 java.lang.Exception ,平常所说的异常指 java.lang.Exception 。 1.Error(错误):java虚拟机无法解决的严重问题
java.lang.NullPointerException空指针异常 1.测试类中产生空指针异常,可能不是你的逻辑代码写错了,而是因为获取容器失败,即没有使用正确的测试方法 2.在SpringBoot项目中我们一般可以使用两种Junit进行测试,在导入@Test包时,会出现两个选项
1.在idea中配置lombok插件 在idea中依次点击File->settings ->Plugins
1.包装类概述 Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:
1)==既可以判断基本类型,又可以判断引用类型 ①如果判断的是基本类型,判断的是值是否相等 ②如果判断引用类型,判断的是地址是否相等,即判断是不是同一个对象 2)equals是Object类中的方法,只能判断引用类型。默认判断的是地址是否相等,子类一般都重写该方法。
一.什么是枚举(enum) 1.枚举对应英文(enumeration,简写enum) 2.枚举是一组常量的集合,枚举对象名通常使用大写 3.枚举属于一种特殊的类,里面只包含一组有限的特定的对象
一.学习Stream流之前,我们先看一下下面这个问题 任务要求:有如下一个ArrayList集合,只要名字为3个字的成员姓名,筛选之后且只要前三个人
一.在学习Lambda之前,我们先来看一段代码: 1.代码前言 ①我们首先定义一个Cook接口,里面有一个makeFood()方法 ②又定义了一个测试类,其中的invokeCook方法内部调用Cook接口的makeFood方法,最后使用匿名类去重写makeFood方法, 2.代码(不想看代码的可直接跳过,看第二条的总结说明)
1.什么是MutipartFile? MultipartFile是SpringMVC提供简化上传操作的工具类。 在不使用框架之前,都是使用原生的HttpServletRequest来接收上传的数据,文件是以二进制流传递到后端的,然后需要我们自己转换为File类。使用了MultipartFile工具类之后,我们对文件上传的操作就简便许多了
1.UUID的概念 (1)UUID:通用唯一标识码,是一种软件建构的标准 (2)UUID的目的是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定 (3)UUID是指在一台机器上生成的的数字,它保证对在同一时空中的所有机器都是唯一的
(2)各个参数的含义 (1)records:用来存放查询出来的数据 (2)total: 用来返回记录的总数 (3)size: 每页显示条数,默认 10 (4)current:表示当前页,默认1 (5)orders: 排序字段信息 (6)optimizeCountSql: 自动优化 COUNT SQL,默认true (7)isSearchCount: 是否进行 count 查询,默认true (8)hitCount: 是否命中count缓存,默认false
1.什么是泛型? (1)泛型,即参数化类型。可以理解为,广泛的类型。是jdk5.0出现的新特性,用于解决数据类型的安全性问题。 (2)我们平时用的ArrayList就使用了泛型,List<T t> list = new ArrayLIst<>(); ①其中,T不代表值,而是表示类型 ②任意字母都可以。常用T表示,是Type的缩写 2.泛型的好处 泛型把运行时异常,转到了编译时异常。只要程序编译时没有问题,就不会产生ClassCastException。 3.泛型的定义与使用
1.注解介绍 前言: 对于与数据库相关的 Spring MVC 项目,我们通常会把事务配置在Service层,当数据库操作失败时让 Service 层抛出运行时异常,Spring 事务管理器就会进行回滚。 如此一来,我们的 Controller 层就不得不进行 try-catch Service 层的异常,否则会返回一些不友好的错误信息到客户端。但是,Controller 层每个方法体都写一些模板化的 try-catch 的代码,很难看也难维护,特别是还需要对 Service 层的不同异常进行不同处理的时候。
① Show Execution Point (Alt + F10):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。 ② Step Over (F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法
Filter:过滤器 1.概念: web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能 过滤器的作用:一般用于完成通用的操作,如登录验证、统一编码处理、敏感字符过滤等等。
mybatis默认是属性名和数据库字段名一一对应的,即 数据库表列:address_book 实体类属性:address_book 在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射 例如:address_book—> addressBook 此属性在 MyBatis 中默认值为 false,在Springboot中,可以通过设置map-underscore-to-camel-case属性为true来开启驼峰功能。 application.yml中:
1.为什么使用@Slf4j? 很简单的就是为了能够少写两行代码,不用每次都在类的最前边写上: private static final Logger logger = LoggerFactory.getLogger(this.XXX.class); 我们只需要在类前面添加注解@Slf4j,即可使用log日志的功能了
this:代表当前对象的引用(谁调用就代表谁) this关键字主要有三个应用: 1.访问成员:
在这里我们需要清除npm的缓存: (1)在cmd命令行窗口中输入:npm cache clean --force (2)然后再运行我们需要安装模块的命令,输入npm install。 有时是网络问题,依赖包加载不完整,删掉node_modules文件后,重新执行npm install即可。
some和every都是Array对象中的方法 every() 方法的意思是“所有”,就是使用指定函数检测数组中的所有元素: (1)如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。 (2)如果所有元素都满足条件,则返回 true。
一.Promise解决的是将“异步过程“变成“同步过程” 1.Promise 是一个构造函数 ⚫ 我们可以创建 Promise 的实例 const p = new Promise() ⚫ new 出来的 Promise 实例对象,代表一个异步操作 2. Promise.prototype 上包含一个 .then() 方法 注:prototype表示该函数的原型,也表示一个类的成员的集合。 在通过new创建一个类的实例对象的时候,prototype对象的成员都成为实例化对象的成员。 2、在new实例化后,其成员被实例化,实例对象方可调用。
Unknown column ‘字段名’ in 'field list’英语翻译过来就是未知列的字段名在字段表中,也就是说数据库表中的字段名在实体类中找不到。 解决方案如下: 查看实体类的属性名和数据库表中的名字是否一致(注意数据库表字段中是否有空格或者下划线)
1)Request Url:Client请求地址 (2)Request Method: 请求类型GET、POST等 (3)Status Code: 响应状态码 (4)Remote Address: 域名对应的真实ip:port
1.getBytes()是什么 getBytes() 是Java编程语言中将一个字符串转化为一个字节数组byte[]的方法 2.getBytes() 方法的两种形式: (1)getBytes(String charsetName):使用指定的字符集将字符串编码为byte序列,并将结果存储到一个新的byte数组中。 (2)getBytes():使用平台的默认字符集编码为byte序列,并将结果存储到一个新的byte数组中。