自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vue2高级篇

Vue2高级篇知识,包含Vuex, Vue-router等

2024-03-05 22:40:56 1184

原创 Vue基础篇

Vue2基础知识

2024-03-05 22:36:03 1037

原创 JavaScript基础

JavaScript语言基础知识,基本语法。

2024-03-03 23:19:31 2669

原创 MySQL字符集和比较规则

MySQL字符集详细介绍,乱码问题原理解析,从根上理解MySQL

2024-03-03 21:36:18 1191

原创 第五讲:常见的BeanPostProcessor

Bean的生命周期,以及生命周期的前后,本文将解释生命周期中的一些注解是怎么生效。

2023-08-22 23:34:57 292

原创 第四讲:Bean的生命周期

简单的描述并测试Bean的生命周期(细节会在后续文章中单独讲解),并加入一些BeanPostPorcessor处理测试。

2023-08-22 00:40:48 170

原创 第三讲:ApplicationContext的实现

在上一篇文章中,我们使用的一直是DefaultListableBeanFactory,他只是一个Bean工厂,不会自动运行,所有的功能都需要我们手动去调用。接下来,我们来看几个ApplicationContext的实现类。

2023-08-20 22:53:37 564 1

原创 第二讲:BeanFactory的实现

BeanFactory的特点:不会主动调用BeanFactory后置处理器(对应本文第4点)不会主动添加Bean后置处理器(对应本文第4、5点)不会主动初始化单例(对应本文第6点)不会解析beanFactory,不会解析${}和#{}

2023-08-20 22:43:53 257

原创 第一讲:BeanFactory和ApplicationContext接口

BeanFactory是ApplicationContext的父接口,是真正的Spring核心容器,主要的ApplicationContext实现都【组合】了他的功能。BeanFactory和ApplicationContext并不仅仅是简单的接口继承关系,ApplicationContext组合并扩展了BeanFactory的功能。

2023-08-20 22:34:03 210

原创 Spring中Bean的生命周期

Spring中bean的生命周期

2022-07-29 10:40:01 174

原创 对象创建的几个步骤

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-07-28 16:11:20 1517

原创 接口和抽象类的区别

接口与抽象类的区别

2022-07-27 21:54:21 527

原创 重写equals方法时为什么需要重写hashCode方法

重写equals方法时为什么需要重写hashCode方法如果只重写了equals方法,而不重写hashCode()方法,则默认调用的是Object类中的该方法,返回的是此对象的十进制内存地址。当使用java中Hash相关的容器时,比如HashMap,该容器的key是不能重复的。往map中存放数据的时候,会先调用key的hashCode方法得到一个整数h,经过hash算法得出一个hash值(h的高16位不变,低16与高16位做异或运算作为新的低16位)。再将hash值与数组长度做&运算得到存放该数

2022-01-20 18:16:03 355 1

原创 Docker安装RocketMQ

Docker安装RocketMQ转载自网络1. 从docker hub远程拉取镜像2. 启动namesrv服务3. 编写broker配置文件4.启动broker5.安装控制台转载自网络1. 从docker hub远程拉取镜像docker pull rocketmqinc/rocketmq:tag2. 启动namesrv服务docker run -d -p 9876:9876 -v /usr/local/mq/data/namesrv/logs:/root/logs -v /usr/local/m

2021-10-09 15:40:29 261

原创 OpenFeign日志

OpenFeign日志1、作用2、日志级别3、配置日志bean4、开启日志5、修改logback日志级别6、查看结果1、作用OpenFeign提供了日志打印功能,我们可以通过配置来调整日志级别,从而了解OpenFeign中Http请求的细节。即对OpenFeign远程接口调用的情况进行监控和日志输出2、日志级别NONE:默认级别,不显示日志BASIC:仅记录请求方法、URL、响应状态及执行时间HEADERS:除了BASIC中定义的信息之外,还有请求和响应头信息FULL:除了HEADERS中定

2021-05-25 15:43:46 343

原创 LocalDateTime的json格式化问题

LocalDateTime的json格式化问题package com.atguigu.srb.base.config;import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.autoconfigure.jackson.Jackson

2021-05-25 13:55:05 564

原创 ListToTreeUtil(从数据库查出List转成Tree)

ListToTreeUtil(从数据库查出List转成Tree)一、实体二、使用工具类直接生成前言:在开发中,经常会碰到需要将数据库中的List转换成一个Tree,例如:评论列表、系统菜单、部门关系、商品分类等等。这个工具类就是用来直接将数据库中的List数据,根据parentId和id字段将其直接转成一个前端可以使用的Tree。一、实体@Data@JsonInclude(JsonInclude.Include.NON_NULL)public class SumTree<T> {

2021-04-06 15:18:19 573

原创 SpringBoot中配置一个Interceptor

SpringBoot中配置一个Interceptor一、准备JWT解析token1. 在appcation.yml文件中配置公钥所在地址和Cookie的名称2. 编写一个配置属性类,读取值二、编写拦截器三、将拦截器注册前言:在B站学习springBoot商城项目的时候,做到购物车模块,前台要向数据库中添加商品,或者删除、修改时,每一个Controller方法都必须先解析token中的用户信息,才能明白要添加到谁的购物车,所以我们抽取一层,把解析用户信息的工作放到拦截器中。一、准备JWT解析token

2021-03-20 12:02:39 1089

原创 Spring Security快速入门(五) 其他功能

Spring Security快速入门(五)其他功能一、RememberMe功能1. 添加依赖2. 配置数据源3. 编写配置4. 修改SecurityConfig.java5. 在客户端添加复选框前言:本文是Spring Security基础部分的最后一篇文章,将简单介绍其Remember Me、在ThymeLeaf中使用Spring Security、退出登录以及CSRF。一、RememberMe功能Spring Security 中 Remember Me 为“记住我”功能,用户只需要在登录时

2021-03-19 11:34:10 223

原创 Spring Security快速入门(四) 访问控制

@[toc](Spring Security快速入门(四)访问控制)一、访问控制url匹配在前面讲解了认证中所有常用配置,主要是对`http.formLogin()`进行操作。而在配置类中`http.authorizeRequests()`主要是对url进行控制,也就是我们所说的授权(访问控制)。http.authorizeRequests()也支持连缀写法,总体公式为:url 匹配规则.权限控制方法通过上面的公式可以有很多 url 匹配规则和很多权限控制方法。这些内容进行各种组合就形成了

2021-03-17 11:39:57 548

原创 Spring Security快速入门(三)自定义页面

Spring Security快速入门(三)自定义页面一、登录页面二、自定义登录成功处理器三、失败跳转引言:Spring Security 给我们提供了登录页面,但是对于实际项目中,大多喜欢使用自己的登录页面。所以 Spring Security 中不仅仅提供了登录页面,还支持用户自定义登录页面。实现过程也比较简单,只需要修改配置类即可。一、登录页面我们先准备一个自己的登录页面。需要注意的是,input的name属性,必须是username和password,否则Spring Security

2021-03-16 17:44:20 362 1

原创 Spring Security快速入门(二)自定义登录逻辑

Spring Security快速入门(二)一、UserDetailsService接口二、User类1. User类中authorities字段三、PasswordEncoder接口四、实现自定义登录逻辑1. 编写配置类2. 自定义逻辑从上一篇博客中可以看见,当我们什么都没有配置的时候,账号和密码都是由Spring Security定义生成的。而再实际项目中账号和密码都是从数据库中查询出来的。所以我们需要通过自定义逻辑控制认证登录。一、UserDetailsService接口需要自定义逻辑时,我们只

2021-03-16 14:26:10 2588 4

原创 Spring Security快速入门(一)

Spring Security快速入门(一)一、学习目标二、Spring Security简介三、快速入门1.导入依赖2. 访问页面一、学习目标二、Spring Security简介什么是安全框架?解决系统安全问题的框架,如果没有安全框架,我们需要手动处理每个资源的访问控制,非常麻烦。使用安全框架,我们可以通过配置的方式实现对资源的访问控制。当前常见的安全框架有:①Spring Security ②Apache ShiroSpring家族一员。是一个能够为基于Spring的企业应用系统提供

2021-03-15 14:32:43 225 1

原创 Docker安装Redis

Docker安装Redis1. 从docker hub远程拉取镜像2. 在容器外部创建Redis要挂载的目录3. 下载官网的配置文件并修改4.运行Redis1. 从docker hub远程拉取镜像docker pull redis:tag2. 在容器外部创建Redis要挂载的目录mkdir -p /usr/local/redis3. 下载官网的配置文件并修改官方redis.conf下载连接bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问protecte

2021-03-06 00:26:29 100

原创 RabbitMQ基础入门(五)Spring AMQP

RabbitMQ基础入门(五)Spring AMQP1. 添加依赖2. 添加配置3. 监听器4. AmqpTemplateSpring-amqp是对AMQP协议的抽象实现,而spring-rabbit 是对协议的具体实现,也是目前的唯一实现。底层使用的就是RabbitMQ。1. 添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-b

2021-03-05 20:38:32 124

原创 RabbitMQ基础入门(四)订阅模型

RabbitMQ基础入门(四)订阅模型一、Fanout(广播)1. 生产者2.消费者3. 测试二、Direct(有方向地)1. 生产者2. 消费者3. 测试三、Topic1. 生产者2. 消费者3. 运行测试在之前的模式中,我们创建了一个工作队列。 工作队列背后的假设是:每个任务只被传递给一个工作人员。 在这一部分,我们将做一些完全不同的事情 - 我们将会传递一个信息给多个消费者。 这种模式被称为“发布/订阅”。1个生产者,多个消费者每一个消费者都有自己的一个队列生产者没有将消息直接发

2021-03-05 17:59:06 212

原创 RabbitMQ基础入门(三)work消息模型

RabbitMQ基础入门(二)work消息模型一、生产者代码二、消费者代码1. 轮询2. 公平(能者多劳)work消息模型称为工作队列或者竞争消费者模式。在上一篇文章中,我们讲了简单消息模型,从一个队列中发送并接收消息。在这里,我们将创建一个工作队列,在多个工作者之间分配耗时任务。工作队列,又称为任务队列。主要是想就是避免执行资源密集型任务时,必须等待它执行完成。相反,我们将稍后完成任务,将它封装为消息,并将其发送发到队列。在后台运行的工作进程将获取任务并最终执行作业。当运行许多消费者时,任务将在他们

2021-03-05 16:55:18 273

原创 RabbitMQ基础入门(二)基本消息模型

RabbitMQ基础入门(一)基本消息模型一、简单消息模型二、代码实现1. 引入依赖2. 编写连接工具类3. 发送消息RabbitMQ是一个消息代理:它接受和转发消息。 你可以把它想象成一个邮局:当你把邮件放在邮箱里时,你可以确定邮差先生最终会把邮件发送给你的收件人。 在这个比喻中,RabbitMQ是邮政信箱,邮局和邮递员。RabbitMQ与邮局的主要区别是它不处理纸张,而是接受,存储和转发数据消息的二进制数据块。一、简单消息模型P(producer/ publisher):生产者,一个发送消息的

2021-03-05 13:45:24 426 4

原创 RabbitMQ基础入门(一)基本概念

RabbitMQ基础入门(一)一、基本概念1. 什么是消息队列2. AMQP和JMS二、常见的MQ产品一、基本概念1. 什么是消息队列消息队列,即MQ,Message Queue。消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。2. AMQP和JMSMQ是消息通信的模型,并不是具体实现。现在实现MQ的有两种主流方式:AMQP、JMS

2021-03-05 00:03:09 194 1

原创 Docker安装RabbitMQ

Docker安装RabbitMQ1. 查看可用的版本2. 拉取镜像3. 使用docker images命令查看镜像4. 启动docker容器5. 登录控制台1. 查看可用的版本先上docker hub查看可用的rabbitMQ的版本,我们这里使用带web控制台版本。2. 拉取镜像docker pull rabbitmq:3.8-management3. 使用docker images命令查看镜像可以看见rabbitMQ已经下载完成了,我们这里记录下镜像ID,只需记录前几位便可(只要能跟其他

2021-03-04 23:26:47 139 1

原创 ThymeLeaf实现页面静态化

页面静态化一、简介1.什么是页面静态化?2.如何实现静态化?二、实现静态化1. ThymeLeaf概念2.代码实现一、简介1.什么是页面静态化?静态化是指把动态生成的HTML页面变成静态内容来保存,之后用户的请求到来,直接访问静态页面,不再经过服务的渲染。静态的HTML页面时可以部署在nginx中,从而极大地提高并发访问能力,减小tomcat压力。2.如何实现静态化?静态化页面都是通过模板引擎来生成的,而后保存到nginx服务器部署,常用的模板引擎有:FreemarkerVelocityT

2021-03-04 19:01:54 771 4

原创 ElasticSearch基础入门(七)使用Spring Data ElasticSearch查询文档

ElasticSearch基础入门(六)使用Spring Data ElasticSearch查询文档一、基本查询二、自定义方法三、高级查询1. 匹配查询2.自定义查询3.排序一、基本查询ElasticsearchTemplate提供了一些基本的查询方法。我们可以根据Id来查询或者直接查询所有,即match_all。 @Test public void findDoc() { Iterable<Item> items = itemRepository.findA

2021-02-25 01:28:55 1000 1

原创 ElasticSearch基础入门(六)使用Spring Data ElasticSearch添加、修改、删除数据

ElasticSearch基础入门(六)使用Spring Data ElasticSearch添加、修改、删除文档一、概述二、新增文档1. 新增一条2. 批量新增三、修改文档四、删除文档一、概述Spring Data 的强大之处,就在于你不用写任何DAO处理,自动根据方法名或类的信息进行CRUD操作。只要你定义一个接口,然后继承Repository提供的一些子接口,就能具备各种基本的CRUD功能。我们想要操作ElasticSearch,自然是去继承ElasticsearchRepository这个接口

2021-02-24 21:48:22 1023

原创 ElasticSearch基础入门(五)使用Spring Data ElasticSearch操作ES

ElasticSearch基础入门(五)使用Spring Data ElasticSearch操作ES一、简介二、起步1. 导入jar包2. 编写配置文件3. 在实体类中添加注解信息①. `@Document`②. `@Id`③. `@Field`三、使用ElasticSearchTemplate1. 创建索引库2.添加映射信息一、简介Spring Data 的使命是给各种数据访问提供统一的编程接口,不管是关系型数据库(如MySQL),还是非关系数据库(如Redis),或者类似Elasticsearch

2021-02-24 21:05:58 567

原创 ElasticSearch基础入门(四)桶、度量

ElasticSearch基础入门(四)聚合一、基本概念1.桶(bucket)2. 度量(metrics)二、聚合为桶三、 桶内度量四、桶的嵌套五、直方图分桶(阶梯)六、范围分桶(range)一、基本概念通过聚合,我们会得到一个数据的概览。我们需要的是分析和总结全套的数据而不是寻找单个文档。ElasticSearch中的聚合,常见的有两种,桶和度量。1.桶(bucket)桶,是按照一定的方式对数据进行分组,每一组数据在ES中称作一个桶,例如我们可以根据大陆对人进行划分,可以得到欧亚桶、美洲桶、非洲

2021-02-24 12:49:07 644

原创 ElasticSearch基础入门(三)高级查询、过滤、排序

ElasticSearch入门之高级查询一、高级查询1. 布尔查询(bool)2. 范围查询(range)3. 模糊查询(fuzzy)二、过滤(filter)三、排序1. 单字段排序2. 多字段排序一、高级查询1. 布尔查询(bool)bool把各种其它查询通过must(与)、must_not(非)、should(或)的方式进行组合。GET /yoshop/_search{ "query":{ "bool":{ "must": { "match":

2021-02-24 11:46:15 327

原创 ElasticSearch基础入门(二)基本查询、结果过滤

ElasticSearch入门之DSL一、基本查询1. 查询所有(match_all)2. 匹配查询(match)3. 多字段查询(multi_match)一、基本查询基本语法GET /索引库名/_search{ "query":{ "查询类型":{ "查询条件":"查询条件值" } }}"query"代表一个查询对象,里面可以有不同的查询属性。查询类型:例如:match_all, match,term , r

2021-02-24 00:34:00 1956 3

原创 ElasticSearch基础入门(一)索引、映射

ElasticSearch基本使用一、索引1.创建索引2.查看索引3.删除索引二、映射1.创建映射2.新增数据2.1 随机生成id2.2 指定id3. 修改数据4.删除数据三、总结一、索引1.创建索引创建索引的请求格式:请求方式:PUT请求路径:/索引库名e.g: 192.168.142.128:9200/youshop请求参数:json格式:{ "settings": { "number_of_shards": 1, # 分片数量 "n

2021-02-23 16:46:36 1582 4

原创 Docker安装ElasticSearch

Docker安装ElasticSearch一、Docker安装ES1.从docker hub远程拉取镜像2.在容器外部创建ES需要挂载的目录3.配置ES可远程访问4.运行ES一、Docker安装ES1.从docker hub远程拉取镜像docker pull elasticsearch:tagdocker pull kibana:tag 2.在容器外部创建ES需要挂载的目录mkdir -p /youshop/elasticsearch/configmkdir -p /youshop/elas

2021-02-23 10:45:42 285

原创 JSR303自定义校验

文章目录前言一、编写一个自定义校验注解1.新建一个Annotation二、使用步骤1.引入库2.读入数据总结前言虽说BeanValidation支持使用@Pattern做正则校验,但是很多时候还是不能满足我们的需求。譬如如下场景:显示状态showStatus只支持0和1两种情况。这时,我们就可以用到自定义校验。一、编写一个自定义校验注解1.新建一个Annotation注解必须满足JSR303规范。二、使用步骤1.引入库代码如下(示例):import numpy as npimpor.

2021-01-22 17:33:33 458

Redis Desktop Manager 2021.zip

Redis Desktop Manager 2021.zip

2021-03-06

空空如也

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

TA关注的人

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