- 博客(177)
- 资源 (3)
- 收藏
- 关注
原创 cnpm重装报错
问题描述: 使用 cnpm 安装依赖包时报错。 解决方法: 删除如下几个文件及文件夹如图: 重新安装: npm install -g cnpm --registry=https://registry.npm.taobao.org 如图:
2022-01-04 22:13:18
633
原创 win10 、docker文件夹共享问题
问题描述: 在win10 系统中安装 docker。在使用 docker-compose 构建 elasticsearch + kibana 环境时,报出 user declined directory sharing 的问题。具体如图: 解决方法: 打开 Docker DeskTop,将共享文件夹路径添加进来即可。如图: ...
2021-12-25 09:46:02
3070
原创 POI单元格样式、行高列宽、合并单元格设置
单元格样式 文字对齐方式 设置文字在水平、垂直方向居中显示 // 设置单元格内容水平、垂直居中 style.setAlignment(HorizontalAlignment.CENTER); style.setVerticalAlignment(VerticalAlignment.CENTER); 单元格填充背景色 设置单元格填充背景颜色和填充方式 // 设置单元格填充的 颜色和图案。这两个同时设置才生效 style.setFillForegroundColor(IndexedColors.
2021-11-30 09:40:43
2193
原创 HashMap源码解析
HashMap 必知必会 HashMap 的底层数据结构是: 数组 + 链表(或红黑树) 源码: transient Node<K,V>[] table; 而 Node 其实是个链表,在 Node中除了存有 k,v外还有 next(类似指针,指向下一个元素) static class Node<K,V> implements Map.Entry<K,V> { // 若 key == null,则 hash值是0,否则 hash = (h =
2021-11-25 11:05:52
738
原创 ArrayList源码解析
数组拷贝 ArrayList 底层拷贝数组方法: System.arraycopy(Objectsrc, intsrcPos,Objectdest, intdestPos, intlength) 将指定源数组中的数组从指定位置复制到目标数组的指定位置 add 方法 JDK 1.8及以后版本,在new ArrayList<>() 的时候,是没有分配空间的。使用的是空数组 public ArrayList() { // DEFAULTCAPAC...
2021-11-24 14:44:58
414
原创 JavaBean属性拷贝
需求 有两个类,他们属性数据类型相同,但名字不同,如何数据的拷贝? 举例: 我们在Service层可能用到的是 UserDTO 类,而页面需要的是 UserVO,我们需要将这个 UserDTO 变成 UserVO 怎么做? 笨方法: 先 UserVO vo = new UserVo(),然后调用 vo.setXXX(dto.getXXX()) 挨个往属性中赋值。 这种方法在 属性少的情况下或许还没什么问题。但是如果需要拷贝对象的属性非常多,且有的属性是集合类型的,这种笨方法处理起来就非常的麻烦.
2021-10-10 10:32:49
1052
原创 Java基础知识-多线程并发
目录 1、多线程的实现方式 1.1 继承 Thread 类 1.2 实现 Runnable 接口 1.3 实现Callable接口 2 线程的状态 2.1 创建状态(NEW) 2.2 就绪状态 (RUNABLE) 2.3 运行状态 (RUNNING) 2.4 阻塞状态 (BLOCKED) 2.5 等待状态 (WAITING) 2.6 超时等待 (TIME_WAITING) 2.7 终止(TERMINATED) 1、多线程的实现方式 1.1 继承 Thread 类 publ
2021-07-09 11:16:09
233
原创 Java基础知识-基本数据类型考点
目录 一、常量池 二、隐藏的强制类型转换 三、String s = new String("abc"); 创建几个对象 一、常量池 Integer i1 = 100; Integer i2 = 100; System.out.println(i1 == i2); // true Integer i3 = 200; Integer i4 = 200; System.out.println(i3 =
2021-07-08 17:27:52
235
原创 Java基础知识-父子类、代码块以及静态代码块
目录 1、第一个例子 2、第二个例子 3、第三个例子 4、第四个例子 5、第五个例子 6、第六个例子 1、第一个例子 父类 @Data public class Person { private String id; private String name; public Person() { System.out.println("执行父类构造方法。。。"); } } 子类 @Data public class Studen
2021-07-08 11:21:11
1239
原创 单例模式介绍
什么是单例? 单例类在整个应用程序中只有一个实例 什么情况下使用单例? 一般如下情况,我们考虑使用单例 ①、全局使用的类 ②、创建对象会消耗很多系统资源的类(比如数据库连接池、工厂类、数据源等) Spring bean 默认情况下也是单例的 单例类代码实现要点 ①、 私有构造器 ②、持有该类的对象属性 ③、对外提供获取实例的静态方法 饿汉式 优点: 类加载时创建,没有加锁,执行效率高 缺点: 对于反射和反序列化是不安全的 最简单的饿汉式代码实现: pu
2021-07-07 16:48:02
204
原创 若依微服务版-接口测试
目录 1、介绍 2、操作 1、介绍 1.1、接口测试工具:Postman 1.2、测试需求 我们使用 Postman 工具测试,除了登录、白名单中的几个极少数接口外,其余的接口测试过程中都需要 在请求头(headers)中,带有 key 为Authorization, 值为登录成功后返回的token字符串。如下图: Authorization 的值是怎么来的?由 “Bearer ”拼接上 access_token 的值 当需要测试的接口很多的时候,手工的填写Autho...
2021-04-09 23:19:49
3766
原创 redisTemplate乱码问题
描述: redisTemplate乱码问题: 严格来说不是乱码,而是程序中使用 redisTemplate 将对象序列号(使用的是:JdkSerializationRedisSerializer 序列号器进行)后存储到 redis 中,我们使用 redis 客户端工具(如:RedisDesktopManager)来查看的出现的如下结果: 这样其实也没什么问题,只是我们人查看的时候感觉别扭。我们需要看到的是如下结果: 分析 我们使用 redisTemplate 将对象存储到 redis .
2021-03-17 16:31:43
2340
原创 RuoYi-Cloud开源项目源码分析-部署
1、RuoYi-Cloud 源码下载 git clone https://gitee.com/y_project/RuoYi-Cloud.git 注意:这里要先安装好 git 2、安装依赖 2.1 进入到刚才下载好的 RuoYi-Cloud 源码目录 cd RuoYi-Cloud 2.2 安装 RuoYi-Cloud项目的依赖 mvn clean install -Dmaven.test.skip=true 注意:这里需要先安装好 maven,配置阿里云的镜像 3、将 RuoYi-C
2021-02-24 15:06:05
4033
1
原创 springmvc-拦截器-避免表单重复提交
目录 一、login.jsp 页面 二、 自定义注解防止表单重复提交 三、防止重复提交拦截器 四、配置拦截器 五、测试 回顾上一章: 在上一章中,我们有介绍到一种避免表单重复提交的解决方案。但这种解决方案有这2个缺点 其一:如果我们要想让这个表单可以避免重复提交,那么需要往表单当中添加隐藏域,如此要是有很多地方的表单都需要避免重复提交的功能,那么在每个表单当中都必须添加这隐藏域! 其二:之前介绍的那种方式不够灵活。比如说要实现10秒内点击的刷新属于重复提交,超过10秒点击刷新不属于重复提.
2021-01-21 21:31:40
584
1
原创 springmvc-首页与登录页
本章节实现的功能及说明: 完成 login.jsp 和 index.jsp 页面 发出 /index 的get请求,能去到 index.jsp 页面; 发送 /login 的get 请求,能去到 login.jsp 页面; 发送 /login 的post 请求,若用户名密码正确(这里先写死),则重定向到 index.jsp 页面;若用户名密码错误,则携带错误提示信息转发到 login.jsp 页面 一、编写 index 和 login 页面 index.jsp 内容如下: <%@ p
2021-01-21 15:35:52
1906
2
原创 springmvc-hello
目录 一、引入依赖 二、配置前端控制器( dispatcherServlet ) 三、创建主配置文件 ( applicationContext.xml ) 四、编写控制器类 ( HelloController) 五、创建响应页面 (hello.jsp) 六、JSP页面热更新 七、可能遇到的问题 本章实现的功能: 搭建 SpringMvc 开发环境,发送http://localhost:8080/springmvc01/hello.do?name=zs请求,响应 JSP 页面。效果如下...
2021-01-20 15:16:53
322
原创 idea使用maven骨架创建web项目
一、创建 web项目 1.1 使用 maven-archetype-webapp 骨架创建项目 1.2、填写 项目名,项目存放的位置以及项目的坐标,过程略,然后完成项目的创建 二、创建目录 使用 maven-archetype-webapp 骨架创建的项目,缺少三个目录 三、编辑运行配置 然后点击 ok,即完成配置 四、运行项目 五、编写 Servlet程序 5.1、导入 servlet - api <dependency> .
2021-01-20 12:01:16
2108
1
原创 idea集成tomcat
一、下载tomcat 下载地址:https://tomcat.apache.org/ 选择 tomcat8 版本 二、解决 tomcat 乱码问题 2.1 启动 tomcat (运行 apache-tomcat-8.5.61/bin/startup.bat),此时控制台会出现乱码,如下图: 2.2 修改logging.properties (apache-tomcat-8.5.61/conf/logging.properties)配置文件,将 UTF-8 改为 GBK 2.3、重..
2021-01-20 09:58:42
464
原创 SpringSecurity之formLogin模式登录认证及授权1
一、需求 在上一章 “SpringSecurity之HttpBasic登录验证” 的基础之上,完成自定义 登录页面 和 权限鉴定 的功能 二、
2021-01-09 16:17:07
1021
原创 SpringSecurity之HttpBasic登录验证
目录 一、需求分析 二、环境搭建 三、添加HttpBasic登录认证 四、HttpBasic登录认证的默认行为 一、需求分析 1.1、客户端发送请求,请求会被SpringSecurity的过滤器链拦截,判断请求是否经过了认证和授权 ? 1.2、如果请求没有被认证,则跳转到登录页面,进行登录后放行之前的请求 1.3、如果请求已经被认证,则请求服务器中的资源都会放行 1.4、完成退出功能。退出后跳转到登录页面 二、环境搭建 2.1、创建 SpringBoot 项目,引入 web 、..
2021-01-08 23:02:01
1310
原创 redis集群环境搭建
目录 1、介绍 2、安装集群依赖 3、集群配置文件 4、启动实例 5、创建集群 6、测试 1、介绍 集群搭建至少需要6个节点,其中3个为主节点,剩下3个为从节点。但如果在一台电脑上开 6 台虚拟机会比较卡。所以本章教程介绍在 1台虚拟机上使用6个端口来代表不同的节点。 这6个端口分别是 7000~7005 2、安装集群依赖 yum install -y ruby rubygems gem install redis-3.2.1.gem 其中redis-3.2.1.gem 包..
2020-11-11 00:34:14
182
原创 SpringBoot整合redis之环境搭建(哨兵模式)
目录 1、修改sentinel.conf 配置文件 2、修改 application.yml 文件 上一章:https://blog.csdn.net/u010559460/article/details/109571701redis 哨兵模式 本章将https://blog.csdn.net/u010559460/article/details/109549593(SpringBoot整合redis之环境搭建(搭建分布式缓存)这是连接单机 redis)的基础上,改造成连接哨兵模式 1、...
2020-11-10 12:27:44
1089
原创 redis哨兵模式
目录 1、创建哨兵配置文件 (sentinel.conf) 2、启动redis主从模式 3、启动哨兵模式 4、测试 5、补充 本章紧接着的是上一章 redis 主从复制 :https://blog.csdn.net/u010559460/article/details/109238874 redis主从复制:仅仅解决的是我们redis数据冗余备份,从节点只是用来备份数据。无法解决 当master 节点出现故障的时候实现自动故障转移 本章将介绍使用 redis哨兵模式 解决当master解决.
2020-11-09 11:45:05
591
原创 redis分布式缓存之表关联关系问题
上一章https://blog.csdn.net/u010559460/article/details/109549593 我们已经解决了 SpringBoot、Mybatis 整合 redis 实现分布式缓存的问题 项目中,如果表与表之间没有任何关联关系,那这样使用缓存是没有什么问题的。那么如果表与表之间存在关联关系的情况,缓存问题该如何解决? 这里演示一下来说明问题。 之前已经有了个 User 模块,现在添加 Role模块 1、Role模块 1.1 创建 Role表 create ta..
2020-11-08 14:58:39
1604
原创 SpringBoot整合redis之环境搭建(搭建分布式缓存)
目录 1、引入 redis 1.1 引入相关依赖 1.2 配置 redis 连接 1.3 编写 redis 的配置类 2、使用 redis 缓存 2.1 自定义 RedisCache(redis的缓存实现) 2.2 修改缓存类型 3、测试 说明:本章是继 SpringBoot整合redis之环境搭建(Mybatis 缓存)https://blog.csdn.net/u010559460/article/details/109388128 这之后进行编写的。将原来使用的 mybatis 缓存
2020-11-07 17:58:59
575
2
原创 Java反射(反射的介绍及应用)
目录 1、介绍 2、获取 Class 对象的方式 3、Class 对象功能 4、获取成员变量测试 5、利用反射修改对象的成员变量的值 6、获取构造方法们 7、通过反射获取的构造方法,生成对象 8、获取成员方法 9、调用成员方法 1、介绍 定义:将类的各个组成部分封装为其他对象,这就是反射机制 2、获取 Class 对象的方式 1、Class.for("全类名") : 将字节码文件加载到内存, 返回Class对象 2、类名.class : 通过类名的class属性获取 3、对..
2020-11-04 22:34:57
233
原创 代理模式-动态代理(cglib代理)
1、使用 cglib代理 使用 cglib代理完成上一章 静态代理的事务管理的功能。 沿用上一章的几个类: 实体类:User 接口:UserService 接口实现类: UserServiceImpl 引入依赖: <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> ..
2020-11-04 14:42:42
261
原创 代理模式-动态代理(JDK代理)
目录 1、使用 JDK 代理 2、静态代理与JDK代理对比 1、使用 JDK 代理 使用 JDK 代理完成上一章 静态代理的事务管理的功能。 沿用上一章的几个类: 实体类:User 接口:UserService 接口实现类: UserServiceImpl 编写JDK 工厂代理类: package com.lcy.proxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; .
2020-11-04 13:34:53
183
原创 代理模式-静态代理解读
1、介绍 定义: 代理模式:给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用 拿买车做打比方。 没有使用代理的情况,一个人去买二手车,他首先到店里验车,然后付款,最后自己再去车管所上牌。 使用代理的情况,他只需要找个中介,然后把款付给中介,让中介帮我们去店里验车,付款,然后再帮我们去车管所上牌。 分类: 按照代理创建的时期来进行分类, 可以分成2类: 静态代理:编译期间 代理类的 .class 文件已经被创建好了 动代理态:运行期间 通过反射机制动态创建代理对象 动态代理有2种
2020-11-04 13:33:46
231
原创 SpringBoot整合redis之环境搭建(Mybatis 缓存)
目录 1、添加新的方法 1.1UserDao 接口 1.2UserDaoMapper.xml 映射描述文件 1.3 UserService 接口 1.4 UserServiceImpl 实现类 2、添加 Mybatis自带的缓存(本地缓存) 3、对比测试 3.1 测试 findAll 方法 3.2 测试findById 方法 3.3 测试 save 方法 3.4测试 update方法 3.5测试 delete方法 4、总结 在上一章的基础上,本章将使用 Mybati...
2020-10-30 17:57:40
362
原创 SpringBoot整合redis之环境搭建(SpringBoot整合Mybatis、druid连接池)
目录 1、创建 maven 项目 2、导入相关依赖 3、编写 application.yml 4、创建项目的目录结构 5、主启动类 6、实体类 7、Dao 接口 8、映射文件 9、Service接口 10、Service 接口实现类 11 、创建数据库表 12、测试类 13、知识点 1、创建 maven 项目 过程略 2、导入相关依赖 主要做的几件事: 声明父工程 引入SpringBoot-web 依赖 引入SpringBoot 的测试依赖 引入mybati..
2020-10-30 14:20:16
420
原创 MySQL创建、删除用户及授权
目录 1、使用 root 用户授予最大权限(即使用 root 用户远程登录后,可以操作所有库及所有表) 2、授予某用户,某库所有权限 3、授予某用户,某库中的某表所有权限 4、查看用户 5、查看用户权限 6、撤销权限 7、删除用户 1、使用 root 用户授予最大权限(即使用 root 用户远程登录后,可以操作所有库及所有表) grant all privileges on *.* to 'root' @'%' identified by '****'; flush privil.
2020-10-29 13:44:12
601
原创 redis主从复制
目录 1、说明 2、架构图 3、编辑配置文件 4、启动 redis 服务 5、使用 redis client 登录 1、说明 由于机器有限,本次操作将在 1台服务器上完成 1主 2从的操作 服务器的内网 IP 地址为 192.168.0.241 master (主 redis) 使用6379端口, slave1(从 redis) 使用 6380 端口, slave2(从redis) 使用 6381 端口 为了方便查看日志输出,本次操作不将 redis设置为后台运行 主从复制架...
2020-10-23 14:57:37
256
原创 MySQL导入大数据(100W条)
目录 1、上传数据文件到 服务器 2、创建表 3、关闭一致性校验 4、设置手动提交事务 5、将数据导入到数据库 6、检验表中是否有100w条数据 7、开启一致性校验 8、设置自动提交事务 1、上传数据文件到 服务器 将 sql1.log 文件上传到服务器的 /data/ 目录下 2、创建表 CREATE TABLE `tb_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(45) NOT NUL..
2020-10-19 11:23:14
1068
原创 Redis安装
目录 1、安装 gcc 2、下载 redis 3、解压 redis 源码包 4、进入解压后的redis目录 5、编译 6、安装 7、将配置文件(redis.conf)拷贝到 redis 安装目录 8、切换到 redis 安装目录 9、编辑 redis.conf 配置文件 10、启动 redis 服务程序 11、查看 redis 是否启动成功 1、安装 gcc yum install gcc-c++ 2、下载 redis 将redis源码下载到 /data 目录下 c.
2020-10-18 23:29:24
269
原创 Linux之MySQL爬坑之路-MySQL初始化配置(密码、字符集和跳过域名解)
目录 1、查看MySQL初始化密码 2、MySQL登录密码的配置 3、设置 root 密码 4、远程访问 MySQL 5、关闭防火墙 6、使用 navicat 工具远程连接 1、查看MySQL初始化密码 安装完MySQL后,MySQL会自动生成一个root用户的初始化密码。 在 MySQL5.6版本,初始化密码保存在 /root/.mysql_secret 文件中 在 MySQL5.7版本,初始化密码保存在/var/log/mysqld.log 文件中。 MySQL5.7查看初始化密.
2020-10-17 17:34:41
898
原创 Linux之MySQL爬坑之路-MySQL安装
1、简介 服务器环境: 操作系统:华为云服务器(Centos7.5) [root@hecs-x-medium-2-linux-20200619140056 ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 服务器 IP地址:124.70.178.21 [root@ruoyi ~]# curl members.3322.org/dyndns/getip 124.70.178.21 2、主机名设置 Centos.
2020-10-17 17:34:06
403
原创 Vue前端项目-代码生成-主页(查询表格数据)
1、前端页面 1.1 代码生成 页面 创建 src / views / tool / gen / index.vue 页面,内容如下 <template> <div class="app-container"> 111 </div> </template> <script> export default { name: "Gen", data() { return {}; }, }; </scri
2020-10-14 17:17:58
4363
1
原创 SpringBoot后端项目-代码生成-主页
1、查询生成的表数据 对应前端的 API:/tool/gen/list 1.1 Controller 层 package com.ruoyi.project.tool.gen.controller; /** * 代码生成 操作处理 * * @author ruoyi */ @RestController @RequestMapping("/tool/gen") public class GenController extends BaseController { @Autowi.
2020-10-14 16:49:36
1386
MySQL数据库中导入100万条数据
2020-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅