自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (9)
  • 收藏
  • 关注

原创 Linux mongodb安装及简单使用

Linux mongodb安装

2024-06-19 14:28:31 447

原创 springboot整合mongodb

说明:springboot操作mongodb的简单增删改查。有时间就总结一点点。

2024-06-14 14:49:02 269

原创 Rabbitmq消息丢失-消费者消息丢失(二)

所谓的ACK就是:首先关闭自动确认【自动ACK】,消费者收到一个消息后,就可以发一个确认【ACK】给MQ,当然什么时候发送确认【ACK】是程序员决定的,也就是说每次在确保处理完这个消息相关的业务后,程序员可以手动发送确认【ACK】,之后把消息从MQ中干掉!这样即使出现了异常也可以有效的消费消息。说明:消费端在处理消息的过程中出现异常,例如:业务逻辑异常,或者消费者被停机,或者网络断开连接等,以上等情况使消息没有得到正确恰当的处理,也会使消息丢失。分析:分析就是说明中的例如!解决:ACK确认机制。

2024-03-04 19:59:57 383

原创 Rabbitmq消息丢失-生产者消息丢失(一)

1.事务:Rabbitmq提供了事务功能,就是生产者发送数据之前开启 RabbitMQ 事务channel.txSelect,然后发送消息,如果消息没有成功被RabbitMQ 接收到,那么生产者会收到异常报错,此时就可以回滚事务channel.txRollback,然后重试发送消息;2.又有没有一种可能,我又发送了一条消息,交换机拿到消息后正要发送给某个队列,就是你,你把那个队列给删掉了,这个时候消息找不到队列,消息就也丢失了。说明:消息生产者在将数据发送到Mq的时候,可能由于网络等原因造成数据投递失败。

2024-03-04 19:20:27 619

原创 SpringBoot整合rabbitmq-重复消费问题

说明:重复消费的原因大致是生产者将信息A发送到队列中,消费者监听到消息A后开始处理业务,业务处理完成后,监听在告知rabbitmq消息A已经被消费完成途中中断,也就时说我已经处理完业务,而队列中还存在当前消息A,导致消费者服务恢复后又消费到消息A,出现重复操作的业务。解决思路:我只要有一个地方记录了消息A已经被消费过了【这个消息必须得设置一个唯一标记】,即使消息A再次被消费时,比对一下,如果有记录则说明消息A已经被消费,如果没有说明没有被消费。我使用redis及设置redis过期时间来解决重复消费问题。

2024-03-03 16:12:28 655

原创 Linux安装Rabbitmq

说明:本文章主要是rabbitmq在Linux系统上的安装,文章中包含了rabbitmq的下载及依赖下载。安装rabbitmq-server-3.9.11-1.el7.noarch.rpm。访问地址:http://IP:15672 【如果访问不到,就关掉防火墙】安装erlang-23.3.4.8-1.el7.x86_64.rpm。安装socat-1.7.3.2-2.el7.x86_64.rpm。1.版本选取,这里的选取主要是版本的兼容问题。默认 账号和密码都是guest。启动rabbtimq。

2024-03-02 17:29:44 702

原创 SpringBoot整合rabbitmq-主题交换机队列(四)

说明:Topic主题交换机它的大致流程是交换机和一个或者多个队列绑定,这个绑定的Routingkey是包含通配符的,满足通配符的队列会接收到消息。topic.#:能匹配 topic.xxx 或者 topic.xxx.xxx。topic.*:只能匹配 topic.xxx。A.总体maven依赖。#:匹配一个或多个词。

2024-02-29 17:04:51 543

原创 SpringBoot整合rabbitmq-扇形交换机队列(三)

说明:本文章主要是Fanout 扇形交换机的使用,它路由键的概念,绑定了页无用,这个交换机在接收到消息后,会直接转发到绑定到它上面的所有队列。B.生产者:MqProducer。C.消费者:MqCustomer。A.总体maven依赖。

2024-02-28 19:48:58 456

原创 SpringBoot整合rabbitmq-直连交换机队列(二)

说明:本文章主要是Direct定向/直连类型交换机的使用,它的大致流程是将一个队列绑定到一个直连交换机上,并赋予一个路由键 routingkey,当一个消息携带着路由值为routingkey,这个消息通过生产者发送给交换机时,交换机就会根据这个路由值routingkey去寻找绑定的队列。C.消费者:MqCustomer。B.生产者MqProducer。A.总体maven引入。

2024-02-28 17:23:26 500

原创 SpringBoot整合rabbitmq-直连队列,没有交换机(一)

说明:本文章只是springboot和rabbitmq的直连整合,只使用队列生产和消费消息,最简单整合!总结:这个是mq消息的最简单的使用,只使用队列!B.生产者:MyProducer。C.消费者:MqCustomer。A.总体pom.xml。

2024-02-28 14:44:47 465

原创 springboot动态数据源【非伪数据源】

springboot mybatis-plus 动态数据源

2023-10-30 19:12:03 243

原创 Java工具类-Jdbc工具类

1.pom.xml文件配置。

2023-10-25 16:10:43 172

原创 PostgreSQL数据库查询表是否存在数据库中,表字段信息及主外键

PostgreSQL数据库查询表是否存在数据库中,表字段信息及主外键

2023-04-25 17:48:00 951

原创 mybatis-plus公共工具类

sql公共类

2023-03-20 15:03:54 596

原创 Linux安装minio单机版

minio单机版安装

2023-03-05 17:50:06 724 2

原创 springboot整合minio及工具类

简单工具整合 springboot+minio

2023-03-02 19:15:14 1021

原创 Java集和递归数据封装工具类

Java集和递归数据处理,Tree

2022-11-16 15:52:50 396

原创 SQL优化思路整理

sql优化思路

2022-11-08 17:46:36 714

原创 Java线程池基础

Java线程池基础

2022-11-04 16:14:48 421

原创 Java SpringBoot 自定义线程池实现异步编排

Java springboot 线程池 异步编排

2022-11-03 16:32:10 451

原创 EasyExcel动态导出-动态头

需求说明:因为项目需求,请求头要做国际化,请求头随时更改,所以请求头为动态!1.pom.xml文件<!--easyexcel --><dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId></dependency>2.EasyExcelExportUtilsimport com.ali

2022-05-31 16:36:25 4117 4

原创 EasyExcel动态导入-动态头

需求说明:因为项目需求,请求头要做国际化,请求头随时更改,所以请求头为动态!1.pom.xml引入 <!--easyexcel --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> </dependency>

2022-05-30 14:16:42 3888

原创 springcloud熔断使用

说明:这里只说明熔断使用,不对作用进行解释介绍准备:需要A服务 B服务都注册到注册中心,A服务需要调用B服务,那么熔断就是在B服务中。我这边A服务调用B服务是用的openfeign。A服务内容【一些注册中心配置就不整了】:pom文件:我这里面跟熔断相关的配置没有yml文件:我这里面跟熔断相关的配置没有控制层:ATestController@Autowiredprivate ATestService atestService;@GetMapping("forHystrix")

2022-05-26 19:06:22 825 3

原创 Springboot+Security+Jwt

工程目录文章目录工程目录 前言 一、Security是什么? 二、使用步骤 1.引入pom.xml文件 2.application.yml文件 。。。。。。 总结:代码足够详细,有耐心的可以看,没耐心的浪费时间!前言随着业务的发展,传统的不分离前后端的Java项目逐渐减少,更多的时候是做到前后端分离,会话管理也就从传统的Session会话管理变为Jwt管理会话,本篇文章就是SpringBoot使用Jwt管理会话同时整合Security,完成权限操作。

2021-12-13 20:49:39 12953 14

原创 Springboot+Security普通

说明:今天有个哥们问我有没有什么好的权限框架推荐,我了解了一下他们对业务的要求,我反手就给他推荐了Security权限框架,他说他看过我之前的Shiro权限管理博客,感觉Shiro不错。我说区别不大,Security除了不能脱离Spring,Shiro能做的Security都能做,而且Security对oauth、OpenID等也有支持,Shiro就需要自己手动去实现了。那哥们就说:关键你没有写过Security相关的博客啊!当时我脑瓜子就嗡嗡的,这是那儿跟那儿啊。。。。。。后来感觉Security也用过几

2021-12-08 21:42:29 4314

原创 springboot整合Druid

说明:Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控,最重要的是提供了可视化页面。老老实实整代码:1.pom文件引入:<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version&g.

2021-11-17 10:59:19 805

原创 springboot整合easyExcel【事务处理】

说明:这里就不在说明常用excel【poi】的导入导出和easyExcel的对比,感兴趣的小伙伴可以去官网查看一下,话不多说,干代码!工程目录【项目为spring boot项目,整合mybatis-plus】库表结构1.pom.xml文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www..

2021-11-09 17:42:30 3566 14

原创 Java微服务RestTemplate跨服务文件上传下载

说明:微服务架构使用springcloud需求1:A服务是业务,B服务是功能【文件上传】,用户通过浏览器上传文件file,上传访问A服务,A服务调用B服务的上传功能需求2:A服务是业务,B服务是功能【文件下载】,用户通过浏览器下载文件file,下载访问A服务,A服务调用B服务的下载功能话不多说,上代码:A服务【A调用B】:import com.sys.common.Result;import io.swagger.annotations.*;import lombok.extern

2021-09-07 19:26:32 962

原创 Springcloud+zipkin实现链路追踪

1.该环境为window环境2.项目中需要追踪的Module 的pom 文件中引入依赖 zipkin (该包中包含了spring-cloud-starter-sleuth) <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifact.

2021-07-03 17:30:04 260

原创 springcloud+rabbitmq实现分布式事务【死信队列实现】

说明:本文章是基于springcloud+springboot+rabbitmq实现的分布式事务,注册中心为eureka,服务调用为openfeign。使用简单消息队列完成分布式事务【即补偿机制】,下篇文章使用死信队列完成分布式。业务需求:用户支付功能,如果用户支付成功,需要改变订单表中订单状态为支付状态【跨服务调用修改订单状态接口】,同时库存表中减库存数量【跨服务调用修改库存数量接口】。下面提到的回款操作是商家不愿意看到,很多商家不愿意这样,这里回款操作只是文章需要。技术说明【那些消息会放到死

2021-06-22 11:23:07 761 1

原创 springcloud+rabbitmq实现分布式事务【非死信队列实现】

说明:本文章是基于springcloud+springboot+rabbitmq实现的分布式事务,注册中心为eureka,服务调用为openfeign。业务需求:用户支付功能,如果

2021-06-20 20:23:25 667

原创 Springboot国际化

@Componentpublic class MessageConfig { private static List<String> languages = Arrays.asList("zh-CN","en-US"); private static HashMap<String,Properties> mapProperties = new HashMap<>(); static { for(String s:langua.

2021-06-10 16:57:16 85

原创 RedisTemplate配置及简单使用

说明:本文章主要是一个配置类,一个控制类<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.1.7.RELEASE</version></dependency>spring.redis.host

2021-01-14 17:57:49 2692

原创 SpringCache自定义缓存配置

缓存配置:import org.springframework.boot.autoconfigure.cache.CacheProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.cache.RedisCacheConfiguratio

2021-01-14 14:35:10 606

原创 @Cacheable整合及简单使用

说明:本文主要说明@Cacheable缓存的使用<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> <version>2.4.0</version></dependency>

2021-01-14 11:24:29 963

原创 高并发redis缓存问题- 穿透,雪崩,击穿

缓存穿透: 概念:指查询一个一定不存在的数据,由于缓存是不命中的,将去查询数据库,但是数据库也无此记录,我们没有将这次查询的null写入缓存,这将导致这个不存在的数据每次请求都要去数据库查询,失去缓存的意义! 风险:利用不存在的数据进行攻击,数据库瞬间压力增大,最终导致崩溃。 解决:null结果缓存,并加如短暂过期时间。缓存雪崩:(开发中一般不会出现) 概念:是指在我们设置缓存时,key值采用相同的过期时间,导致缓存在某一时刻同时失效,请求...

2021-01-12 15:48:13 409

原创 Apache JMeter安装及使用

1.下载Apache JMeter地址 http://jmeter.apache.org/download_jmeter.cgi2.点击下载3.直接下载并解压4.解压完成,进入解压文件夹里bin目录,双击打开 jmeter.bat5.出现这样完成6.简单使用a.修改中文b.操作简单使用完成...

2021-01-06 16:22:55 174

原创 Java线程池使用及Springboot与之整合

说明:线程池的创建存在两种方法: 1.最快的方法是ExecutorService类创建 public static ExecutorService executor = Executors.newFixedThreadPool(10); 2.原生线程池创建 public static ThreadPoolExecutor executor = new ThreadPoolExecutor("里面有7大...

2021-01-04 10:32:02 754

原创 Java多线程与线程池

说明:本文主要是线程的四种启动方法,第四种是线程池,如若想查找线程池相关资料,可以忽略前面三种。方法一:继承extends类,没有返回结果public class ThreadTestOne { public static void main(String args[]){ System.out.println("main...........start"); Thread01 thread01 = new Thread01(); thre

2020-12-30 17:33:29 71

原创 Java Lambda表达式简单应用-针对集和

1.说明:本文是针对集和的Lambda表达式简单使用。** 1.表达式中stream是将集和转换成流* 2.表达式中filter是过滤作用,加入指定的过滤条件才可以执行* 3.自定义filter过滤* 4.sorted可以对集和对象排序* 5.joining对数据进行拼接* 6.forEach可以对集和进行遍历* 7.双冒号的使用(::)* -类方法引用 User::getUserName* -静态方法引用(过多,只举

2020-12-29 18:11:32 173

springboot+mybatis-plus动态数据源

支持动态添加和删除数据源

2023-10-30

springboot+security+jwt+mybaits-plus+mysql实现权限管理

1.传统spring boot框架 2.security框架 3.jwt取代session 4.mybatis-plus+mysql【sql文件项目中有】 5.不想下载,可以看博客,博客中有写

2022-03-13

springboot+security+mybatis-plus+mysql实现权限管理

1.传统springboot框架 2.基于security session权限管理 3.项目中有sql文件 4.如果不想下载项目,可以看博客,博客中也有

2022-03-13

spring-cloud-old-ass-colony.rar

springcloud各个组件的使用每个都是案例。包括:eureka,ribbon,openfeign,hystrix,zuul,config

2020-07-25

MyShiroJwtWorkOne.rar

本工程是spring boot项目 使用shiro自定义拦截器 jwt代替shiro session 未使用redis 做到前后端分离 项目数 据库说明在项目sql文件夹里

2020-07-11

MyJwtWorkOne.rar

本工程主要在登录后设置资源存入jwt,之后的每次请求通过拦截器解析jwt校验,完成统一会话管理,完成权限实现

2020-07-09

spring-cloud-server.rar

springcloud微服务 eureka config zuul 服务提供者 消费者 框架简单搭建 只是简单的框架模型 跨服调用

2020-05-18

DemoOne.rar

本工程是 Springboot+mybatis-plus+分页插件+swagger+统一结果集+统一异常处理(异常做国际化)+Controller公共方法方法抽取+增删改查demo

2019-11-16

DemoOne.rar

Springboot+mybatisplus+maven+拦截器 工程压缩成rar包,解压导入idea即可用 数据库中创建两张表 USER_T TEACHER_T 每张表中都是ID USER_NAME 两个字段 里面有mysql的数据源和orcale的数据源 根据需求选择不同的数据源 如果是orcale数据源 注意一下pom文件中的orcale驱动

2019-11-13

DemoOne.rar

Springboot+mybatis+maven工程压缩成rar包,解压导入idea即可用 数据库中创建两张表 USER_T TEACHER_T 每张表中都是ID USER_NAME 两个字段 里面有mysql的数据源和orcale的数据源 根据需求选择不同的数据源 如果是orcale数据源 注意一下pom文件中的orcale驱动

2019-11-13

空空如也

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

TA关注的人

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