SpringBoot整合EasyExcel
1.EasyExcel介绍 Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI的sax模式,在上层做了模型转换的封装,让使用者更加简单方便
官网地址:https://easyexcel.opensource.alibaba.com/
2.入门2.1 引入依赖123456<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency> <groupId>com.alibaba</groupI ...
SpringBoot整合Logback日志
1.创建一个SpringBoot的工程2.在resources目录下创建logback-spring.xml的配置文件创建的时候要修改日志输出的路径
日志的级别根据需要自己修改
级别:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 ...
SpringBoot中整合Swagger2
1.Swagger2的介绍什么是swagger2
编写和维护接口文档是每个程序员的职责,根据Swagger2可以快速帮助我们编写最新的API接口文档,再也不用担心开会前仍忙于整理各种资料了,间接提升了团队开发的沟通效率。
常用注解
swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息等等
@Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述
@ApiModel:用对象来接收参数
@ApiModelProperty:用对象接收参数时,描述对象的一个字段
@ApiImplicitParam:一个请求参数
@ApiImplicitParams:多个请求参数
2.SpringBoot中使用Swagger2.1导入相关的依赖注意:Swagger2和SpringBoot存在版本兼容的问题,选择的时候要根据SpringBoot的版本进行选择
12345678910<dependency> <groupId>io.sp ...
内网穿透
第一步 官网下载客户端下载 –> windows 64位 –>解压后得到.exe文件
第二步 官网注册并登录进入后台官网注册登录 –> 购买免费隧道 –>获取authtoken
第三步 双击下载的.exe文件进入命令行页面输入命令1natapp -authtoken=刚刚你申请的authtoken
第四步 根据生成的域名访问服务
SSM框架基础知识及整合
PDF版本的笔记
Mybatis
Spring SpringMVC MyBatis
SpringBoot中使用定时任务
1.在启动类上添加@EnableScheduling注解1@EnableScheduling
2.创建定时任务类,设置cron表达式定时任务可以单独建立一个包 package com.atguigu.schedule
加上@Component注解,交给spring管理,启动这个模块,定时任务就开启了
12345678910111213141516171819202122package com.atguigu.schedule;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;/** * @author GongChangjiang * @version 1.0 * @Date 2023/3/29 * @Description 定时任务 */@Componentpublic class ScheduledTask { //每隔五秒执行这个方法 //"0/5 * * * * ?" 是c ...
验证码服务
1.使用邮件发送验证码1.1 引入依赖坑点:有时候遇到验证码发不出去的情况,要调整依赖的版本,更新为高版本的依赖
12345678910111213<!--javaMail--><dependencies> <dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId> <version>1.5.6</version> </dependency> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.5.3</version> </depende ...
MybatisX插件的使用
代码生成器 根据数据库表生成Mapper接口,Mapper配置文件,service
注解 mybatisPlus提供的注解
公共字段的自动填充 逻辑删除 乐观锁 雪花算法生成主键
数据结构与算法
代码仓库的地址:https://github.com/JasonsGong/DataStructures
一.经典算法问题字符串匹配 KMP算法
汉诺塔问题 分治算法
八皇后问题 回溯算法
马踏棋盘问题 图的深度优化遍历算法(DFS)和 贪心算法优化
二.数据结构与算法的概述2.1 数据结构与算法的关系(1)数据(data)结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构,学好了数据结构可以编写出更加漂亮,更加有效率的代码。
(2)程序=数据结构+算法
(3)数据结构是算法的基础
2.2解决实际的问题五子棋程序 稀疏数组(压缩存档) 二维数组->转化成稀疏数组->存档 读档反之
约瑟夫问题(丢手帕问题) 单向环形列表
修路问题 求最小生成树 + 普利姆算法
最短路径问题 图+弗洛伊德算法
2.3 数据结构线性结构:
线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系
线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储 ...
MySQL5.7安装教程
1.下载的地址下载之后直接解压使用(下载之前看电脑上有没有mysql的服务,如果有先删除),解压的文件路径最好不要有中文
查看的方式
1Win + R 输入 services.msc 回车打开 找是否有一个名为mysqld的服务
删除的指令
1sc delete mysql
Mysql5.7地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-winx64.zip
2.配置环境变量添加环境变量 : 电脑-属性-高级系统设置-环境变量,在Path 环境变量增加mysql的安装目录\bin目录
3.在mysql的安装目录下创建my.ini文件
my.ini
1234567891011121314[client]port=3306default-character-set=utf8[mysqld]# 设置为自己MYSQL的安装目录basedir=C:\mysql\mysql-5.7.19-winx64\# 设置为MYSQL的数据目录,这个目录系统帮我们创建datadir=C:\mysql\mysql-5 ...