自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(169)
  • 资源 (1)
  • 收藏
  • 关注

原创 事件修饰符

Vue中的事件修饰符。

2023-04-17 21:05:15 192 1

原创 FreeMarker模板导出word报表

最近遇到了生成报表操作的需求,使用easyExcel导出表格,并不能很好的满足项目需求,所以最终选择了freemarker的方式来导出word报表,网上各种各样的笔记层出不穷,所以此文用来记录自己实际应用的过程。使用freemarker模板导出word文档大致可分为三步制作word模板 编写生成word文档的工具类 准备数据,调用模板生成word文档1.制作模板1.1打开office-word,创建新的word文档,并编写自己需要的样式,例如:1.2编写好样式之后,另存为xm..

2022-02-08 12:00:01 1457

翻译 Centos安装Docker

0.安装DockerDocker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为 stable test 和 nightly 三个更新频道。官方网站上有各种环境下的 安装指南,这里主要介绍 Docker CE 在 CentOS上的安装。1.CentOS安装DockerDocker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内

2022-02-03 17:56:44 281

原创 Gateway指南

如图所示,Gateway 网关是我们服务的守门神,是所有微服务的统一入口。网关的核心功能特性:请求路由:一切请求都必须先经过 gateway,但网关不处理业务,而是根据某种规则,把请求转发到某个微服务,这个过程叫做路由。当然路由的目标服务有多个时,还需要做负载均衡 权限控制:网关作为微服务入口,需要校验用户是是否有请求资格,如果没有则进行拦截 限流:当请求流量过高时,在网关中按照下流的微服务能够接受的速度来放行请求,避免服务压力过大入门使用(网关本身也是一个服务)创建 Spr...

2022-02-03 12:16:49 878

原创 Feign指南

Feign是一个声明式的HTTP客户端,它的作用就是帮助我们优雅的实现http请求的发送,即远程调用其他服务。1. 引入依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>2. 添加注解(在启动类添..

2022-01-26 22:07:09 494

原创 Nacos配置功能

当服务实例越来越多的时候,一个个实例去修改配置的话,其容易出错的概率和所消耗的时间就不言而喻了,这时候统一配置管理就显得尤为重要了。Naocs不仅可以做注册中心,还可以做统一配置管理。Nacos 一方面可以将配置集中管理,另一方可以在配置变更时,及时通知微服务,实现配置的热更新。目录创建配置拉取配置配置热更新配置共享配置优先级创建配置1. 在 Nacos 控制面板中添加配置文件然后在弹出的表单中,填写配置信息:注意:项目的核心配置,需要热更新的配置才有.

2022-01-26 12:15:07 1640 1

原创 Nacos注册功能

Nacos参考文档:https://nacos.io/zh-cn/docs/quick-start.html Nacos是SpringCloudAlibaba推出的一个注册中心,个人认为其功能十分强大。与Eureka不同的是,Nacos并不需要独立的创建一个服务,其本身就是一个Springboot服务,直接下载安装解压就可以了1.依赖引入<dependency> <groupId>com.alibaba.cloud</groupId> &..

2022-01-23 21:36:21 844 1

翻译 Ribbon指南

什么是Ribbon?Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。总之呢,就是负载均衡用的。@LoadBalanced注解相比大家见怪不怪了,这不就是Ribbon实现的么源码跟踪如上图所示,为什么我们只输入了 service 名称就可以访问了呢?为什么不需要获取服务的ip和端口呢,这显然有人帮我们根据 service.

2022-01-21 22:03:28 214

翻译 Eureka指南

Eureka基本使用

2022-01-20 20:39:09 1343

原创 SpringBoot整合WebSocket

1. 引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency>2. 编写配置类@Configurationpublic class..

2022-01-14 14:20:43 268

原创 Lombok中@Accessors注解

最近在公司项目中,总是会遇到如下写法例如现有一个实体类People@Data@TableName("people")public class People implements Serializable { private static final long serialVersionUID = 1L; @TableId(type= IdType.AUTO) private Long id; private String name; private I

2021-06-25 10:38:36 164

原创 Mysql窗口函数

本篇文章转载于https://blog.csdn.net/weixin_39010770/article/details/87862407最近在刷LeetCode上面的SQL题目,发现原来我只是一名CRUD工程师,还需要掌握的东西有很多,比如本篇文章的滑动窗口。话不多说,先上图片。窗口:记录集合窗口函数:在满足某些条件的记录集合上执行的特殊函数,对于每条记录都要在此窗口内执行函数。有的函数随着记录的不同,窗口大小都是固定的,称为静态窗口;有的函数则相反,不同的记录对应着不同的窗口,称为滑...

2021-05-26 14:26:30 141

原创 LeetCode-Mysql-分数排名(窗口函数解决)

编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。+----+-------+| Id | Score |+----+-------+| 1 | 3.50 || 2 | 3.65 || 3 | 4.00 || 4 | 3.85 || 5 | 4.00 || 6 | 3.65 |+----+-------+例如,根据上述给定的Sc...

2021-05-25 17:06:38 166

原创 Redis-穿透和雪崩

Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求很高,那么就不能使用缓存。 另外的一些典型问题就是,缓存穿透、缓存雪崩和缓存击穿。目前,业界也都有比较流行的解决方案。 缓存穿透概念:缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时

2021-04-28 08:48:31 80

原创 Redis-主从复制/哨兵模式

主从复制概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave 以读为主。 默认情况下,每台Redis服务器都是主节点 且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的主要作用包括:1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。

2021-04-26 16:00:36 84

原创 Redis-发布订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。微信、 微博、关注系统! Redis 客户端可以订阅任意数量的频道。 订阅/发布消息图: 第一个:消息发送者, 第二个:频道 第三个:消息订阅者! 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系: 当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就

2021-04-26 15:01:06 62

原创 Redis-持久化

Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以 Redis 提供了持久化功能! 什么是RDB在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。 Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的。这就确保了

2021-04-26 14:49:16 57

原创 Redis-conf详解

单位配置文件 unit单位 对大小写不敏感! 包含别的配置文件网络bind 127.0.0.1 # 绑定的ip protected-mode yes # 保护模式 port 6379 # 端口设置通用GENERALdaemonize yes # 以守护进程的方式运行,默认是 no,我们需要自己开启为yes! pidfile /var/run/redis_6379.pid # 如果以后台的方式运行,我们就需要指定一个 pid 文件!# 日志 ...

2021-04-26 14:22:48 96

原创 Redis-SpringBoot整合

说明: 在 SpringBoot2.x 之后,原来使用的jedis 被替换为了 lettucejedis : 采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全,使用 jedis pool 连接池! 更像 BIO 模式 lettuce : 采用netty,实例可以再多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据了,更像 NIO 模式 源码分析:@Bean @ConditionalOnMissingBean(name = "redisTemplate") /.

2021-04-26 13:47:39 144

原创 Redis-Jedis

Jedis 是 Redis 官方推荐的 java连接开发工具! 使用Java 操作Redis 中间件!如果你要使用java操作redis,那么一定要对Jedis 十分的熟悉!使用Jedis我们首先要导入相关依赖<!--导入jedis的包--> <dependencies> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency>

2021-04-26 11:39:11 73

原创 Redis-事务/乐观锁/悲观锁

事务Redis事务本质是一组命令的集合,一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行一次性、顺序性、排他性!执行一些列的命令!Redis事务没有隔离级别的概念!所有的命令在事务中,并没有直接被执行!只有发起执行命令的石斛才会执行!ExecRedis单条命令是保存原子性的,但是事务不保证原子性!Redis的事务:开启事务(multi) 如对命令(......) 执行事务(exec)正常执行事务127.0.0.1:6379> multi #

2021-04-26 11:25:50 83

原创 Redis-Bitmap

位存储统计用户信息,活跃,不活跃! 登录 、 未登录! 打卡,365打卡! 两个状态的,都可以使用Bitmaps! Bitmap 位图,是一种数据结构! 都是操作二进制位来进行记录的,就只有0 和 1 两个状态! 365 天 = 365; bit 1字节 = 8bit ;一年就是46 个字节左右!测试使用bitmap 来记录 周一到周日的打卡!周一:1 周二:0 周三:0 周四:1 ......查看某一天是否有打卡!127.0.0.1:6379&gt...

2021-04-26 10:26:31 48

原创 Redis-Hyperloglog基数

什么是基数A {1,3,5,7,8,7} B{1,3,5,7,8} 基数(不重复的元素) = 5基数可以接受误差! 简介Redis 2.8.9 版本就更新了 Hyperloglog 数据结构Redis Hyperloglog 基数统计的算法!优点:占用的内存是固定,2^64 不同的元素的技术,只需要废12KB内存!如果要从内存角度来比较的话 Hyperloglog 首选! 如果允许容错,那么一定可以使用 Hyperloglog ! 如果不允许容错,就使用 se.

2021-04-26 10:19:58 52

原创 Redis-Geospatial 地理位置

想要实现朋友的定位,附近的人,打车距离计算这类的功能吗?Redis的Geo可以轻松帮你实现这个难题 Redis 的 Geo 在Redis3.2 版本就推出了! 这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人! 我们可以查询一些测试数据,各地经纬度查询:http://www.jsons.cn/lngcodeinfo/0706D99C19A781A3/ Geo只有六个命令: GEOADD GEODIST GEOHASH GEOPOS GEORADIUS GEORADIUSBYM

2021-04-26 10:09:22 118

原创 POI/EasyExcel

目录POI1.倒入依赖2.写入excel3.读取excel中数据EasyExcelPOI1.倒入依赖 <dependencies> <!--xls-03--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> ..

2021-04-24 11:44:47 625

原创 Mybatis-Plus事务管理

1.springboot使用事务需要引入sprint-tx,但是在结合mybatisplus时,mybatis-plus已经代为引入了,2.在springboot的启动类或者某个@Configuration上,加上@EnableTransactionManagent开启事务的支持3.在service中使用@Transactional就可以使用事务了,@Transactional添加在方法中,方法支持事务,如果将@Transactional添加在类上,则整个类的所有方法都默认支持事务4.@Tra.

2021-04-23 11:32:52 10292 1

原创 Mybatis-Plus(狂神视频笔记)

狂神MybatisPlus视频地址:https://www.bilibili.com/video/BV17E411N7KN?p=17&spm_id_from=pageDriverMybatis-Plus概述官网:https://mp.baomidou.com/特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作, BaseMapper 强大的 CRUD 操作:内置通用 Ma.

2021-04-23 10:20:07 442

原创 @bean和@Component的区别

@Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean。 @Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。通常方法体中包含了最终产生bean实例的逻辑。相同点:两者的结果都是为spring容器注册Bean.不同点:@Component 通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中。 @Bean注解通常是我们在标有该注解的方法中定义产生这个bean的逻辑。@Component .

2021-04-22 09:52:53 171

翻译 JWT笔记(com.auth0)

1.什么是JWTJSON Web Token (JWT) is an open standard ([RFC 7519](https://tools.ietf.org/html/rfc7519)) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified an.

2021-04-21 16:19:16 4222

原创 两数相加

2. 两数相加难度中等6076给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]...

2021-04-21 11:52:38 113

原创 两数之和

给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target = ...

2021-04-21 08:27:52 184

原创 时间工具类

public class DateUtils { /** * 默认的日期格式 */ private static final String DEFAULT_PATTERN = "yyyy-MM-dd HH:mm:ss"; /** * 日期格式化数组 */ private static final DateFormat[] DATE_FORMATS = { new SimpleDateFormat("yyyy-M.

2021-04-13 17:03:35 280

原创 Redis序列化配置

@Configurationpublic class RedisConfig { @Bean public RedisTemplate<?, ?> redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate<?, ?> redisTemplate = new RedisTemplate<>(); redisTemplate.s.

2021-04-13 16:19:19 857

原创 Swagger3常用注解

2021-03-24 09:20:55 2031

原创 Mybatis转义符

xml格式中不允许出现类似“>”这样的字符,所以我们需要使用转义符 &lt; < 小于号 &gt; ...

2021-03-19 16:07:56 179

翻译 Redis五大数据类型

类型 简介 特性 场景 String(字符串) 二进制安全 可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M --- Hash(字典) 键值对集合,即编程语言中的Map类型 适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去) 存储、读取、修改用户属性 List(列表) 链表(双向链表) 增删快,提供了操作某

2021-03-18 16:36:43 66

原创 java.lang.ClassNotFoundException%3A+org.apache.commons.lang3.StringUtils

解决办法:在pom文件中添加相关依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.11</version> </dependency>...

2021-03-02 17:05:19 467 1

原创 SpringBoot自定义converter转换器

我们直接用一个小demo举例子创建两个实体类Person和Pet,其中Person类中包含Pet属性,这里使用了lombak,就不用写get/set等方法了@Datapublic class Person { private Integer id; private String name; private Pet pet;}@Datapublic class Pet { private String name; private Integer ag

2021-02-08 20:22:05 1284

原创 springboot中rest风格的映射

前言:在我们编写controller时,需要编写相应的映射地址,例如增加用户addUSer,删除用户deleteUser,修改用户updUser,查看用户seleUser。。。不难看出,一但项目的胆码躲起来,将会是各种增删改查,光是取名,就很让人头疼,而rest风格帮我们解决了这个困扰,我么只需写名次就可执行相应操作,例如增删改查用户的映射地址我们都写成/user,那么如何实现呢,请看下面的讲解首先我们要在配置文件中配置开启rest风格,他默认是不开启的spring: mvc: hid

2021-02-07 15:19:58 219

原创 springboot网页小图标

如图所示,每个网页上都有着自己独特的小图标,在SpringBoot中我们只需将小图标命名为favicon.ico,并放在静态资源目录下即可制作小图标的网址:https://tool.lu/favicon/当我们都设置好之后,可能会遇到小图标不更新的问题,这时我们只需要禁止浏览器缓存,并强制刷新即可谷歌浏览器,按住fn+f12,勾选如下所示的禁止缓存,并重启浏览器,再按住command+shift+r即可...

2021-02-07 11:34:55 922

简单的SSM框架搭建

(只有一个表的查询插入,本代码只是为了搭建框架进行参照)

2021-01-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除