自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 redis集群

redis集群

2021-12-09 11:26:37 478

原创 在自媒体微服务中使用过滤器解析header数据并设置到当前线程中

在自媒体微服务中使用过滤器解析header数据并设置到当前线程中过滤器package com.heima.wemedia.filter;import com.heima.utils.WmThreadLocal;import org.springframework.core.annotation.Order;import org.springframework.web.filter.GenericFilterBean;import javax.servlet.FilterChain;impo

2021-08-23 19:29:31 276

原创 FastDFS分布式文件管理工具

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS 架构包括 Tracker server 和 Storage server。客户端请求

2021-08-22 15:14:59 962

原创 springColud分布式事务阿里巴巴seata

Seata Server端环境准备(1)从官网上下载seata server端的程序包下载地址:https://github.com/seata/seata/releases

2021-08-21 17:53:48 149

原创 feign远程调用

修改pom文件,加入依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>修改引导类,添加注解@EnableFeignClients开启远程调用@SpringBootApplication@EnableD

2021-08-20 21:19:17 109

原创 SpringColud全局过滤器实现jwt校验(在网关进行拦截过滤)

流程图思路分析:用户进入网关开始登陆,网关过滤器进行判断,如果是登录,则路由到后台管理微服务进行登录用户登录成功,后台管理微服务签发JWT TOKEN信息返回给用户用户再次进入网关开始访问,网关过滤器接收用户携带的TOKEN网关过滤器解析TOKEN ,判断是否有权限,如果有,则放行,如果没有则返回未认证错误在网关微服务中新建全局过滤器:第一步,准备工具类把heima-leadnews-utils模块中的AppJwtUtil类拷贝到网关模块下,如下图:第二步,编写全局过滤器pack

2021-08-19 18:52:34 462

原创 注册nacos微服务

在微服务中引依赖<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>在微服务中的application.yml文件中加入配置spring: cloud: nacos: disco

2021-08-19 18:45:05 72

原创 搭建gatway网关微服务

(1)创建heima-leadnews-admin-gateway微服务引依赖pom文件<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency>

2021-08-19 18:38:32 264

原创 BCrypt密码加密

​ 在用户模块,对于用户密码的保护,通常都会进行加密。我们通常对密码进行加密,然后存放在数据库中,在用户进行登录的时候,将其输入的密码进行加密然后与数据库中存放的密文进行比较,以验证用户密码是否正确。 目前,MD5和BCrypt比较流行。相对来说,BCrypt比MD5更安全。BCrypt 官网http://www.mindrot.org/projects/jBCrypt/(1)我们从官网下载源码(2)新建工程,将源码类BCrypt拷贝到工程(3)新建测试类,main方法中编写代码,实现对密码的加密

2021-08-17 18:24:55 337

原创 token(jwt)加密解密工具类

jwt加密解密工具类步骤引jwt依赖<dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId></dependency>调用工具类直接调用方法直接加密解密package com.heima.utils.common;import io.jsonwebtoken.*;import javax.crypto.S

2021-08-17 16:57:58 1159

原创 md5加密

public class Md5 { public static void main(String[] args) { String password="123456"; //盐值 String yan="789"; String s = DigestUtils.md5DigestAsHex((password+yan ).getBytes()); System.out.println(s); //解密就

2021-08-17 16:23:44 105

原创 全局异常处理器

使用原理代码实现package com.heima.common.excption;import com.heima.model.common.dtos.ResponseResult;import com.heima.model.common.enums.AppHttpCodeEnum;import lombok.extern.log4j.Log4j;import lombok.extern.log4j.Log4j2;import org.springframework.web.bind

2021-08-17 12:37:32 83

原创 rocketMq:使用步骤

第一步:引入rocketMq相关依赖<!--RocketMQ相关--><dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-spring-boot-starter</artifactId></dependency><dependency> <groupId>org.apache.

2021-08-10 19:24:40 217

原创 jwt加密,和解密

第一步,定义一个秘钥#秘钥jwt.secret= 76bd425b6f29f7fcc2e0bfc286043df1 //引入秘钥 @Value("${jwt.secret}") private String secret;第二步,加密 //生成tonken //把id加成秘钥 Map<String,Object> claims=new HashMap<>(); claims.put("id",use

2021-08-04 00:09:28 1399

原创 请求第三方阿里发送验证码

第一步,发送验证码 public String sendSms(String mobile) { DefaultProfile profile = DefaultProfile.getProfile(this.aliyunSMSConfig.getRegionId(), this.aliyunSMSConfig.getAccessKeyId(), this.aliyunSMSConfig.getAccessKeySecret()); IA

2021-08-04 00:03:07 303

原创 restTemplate远程连接

定义配置类交给spring管理import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.http.client.ClientHttpRequestFactory;import org.springframework.http.client.SimpleClientHttpRequest

2021-08-03 23:54:17 132

原创 SpringBoot统一校验token,编写拦截器

在之前的开发中,我们会在每一个Service中对token做处理,相同的逻辑一定是要进行统一处理的,该如何处理呢?由于程序是运行在web容器中,每一个HTTP请求都是一个独立线程,也就是可以理解成我们编写的应用程序运行在一个多线程的环境中,那么我们就可以使用ThreadLocal在HTTP请求的生命周期内进行存值、取值操作。说明:用户的每一个请求,都是一个独立的线程图中的TL就是ThreadLocal,一旦将数据绑定到ThreadLocal中,那么在整个请求的生命周期内都可以随时拿到Thread

2021-07-30 20:26:55 1284

原创 SpringBoot采用拦截器进行redis缓存命中(自定义注解+拦截器+向redis中加数据)

实现思路:通过拦截器实现对请求的拦截,在拦截器中实现缓存的命中。通过ResponseBodyAdvice进行对响应的拦截,可以将数据缓存到Redis中。考虑到,不能对于所有的请求都一刀切,所以需要创建@Cache注解进行标记,只有标记的Controller才进行缓存处理。缓存的处理中,仅针对GET请求处理,其他的请求均不做处理。第一步:自定义注解package com.tanhua.server.utils;import java.lang.annotation.*;@Target

2021-07-30 20:13:14 878

原创 No appenders could be found for logger

打开官网:http://logging.apache.org/log4j/1.2/faq.html#noconfig翻译出来大概就是:当找不到默认配置文件log4j.properties和log4j.xml,并且应用程序不执行显式配置时,就会发生这种情况。log4j使用thread.getContextClassLoader().getResource()定位默认配置文件,不直接检查文件系统。了解放置log4j.properties或log4j.xml的适当位置需要了解正在使用的类加载器的搜索策.

2021-07-29 11:02:55 694

原创 SLF4J: Class path contains multiple SLF4J bindings.警告解决

SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/G:/repo/repo-mvn-qingmu/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found binding in [jar:file:/G:/re

2021-07-29 10:58:40 6176

原创 报错 com.mongodb.MongoSocketOpenException: Exception opening socket

发现原因 我们的项目是父子项目,父项目是别人建的 里面添加 mongodb 的 starter ,而我的子项目并不需要连接 mongodb我也没有配置 mongodb 的信息。解决办法,修改启动类注解@SpringBootApplication() - > @SpringBootApplication(exclude = MongoAutoConfiguration.class)...

2021-07-29 10:52:18 224

原创 docker错误:Got permission denied while trying to connect to the Docker daemon socket at....

解决方案:

2021-07-21 19:17:04 27

空空如也

空空如也

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

TA关注的人

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