一梦喂马.
码龄8年
关注
提问 私信
  • 博客:185,990
    185,990
    总访问量
  • 56
    原创
  • 991,819
    排名
  • 51
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2016-12-26
博客简介:

qq_37170583的博客

查看详细资料
  • 原力等级
    当前等级
    3
    当前总分
    237
    当月
    2
个人成就
  • 获得103次点赞
  • 内容获得64次评论
  • 获得329次收藏
  • 代码片获得358次分享
创作历程
  • 1篇
    2024年
  • 1篇
    2022年
  • 2篇
    2021年
  • 4篇
    2020年
  • 24篇
    2019年
  • 24篇
    2018年
成就勋章
TA的专栏
  • 算法小本
    1篇
  • mybatis
    1篇
  • 数据结构
    1篇
  • springboot
    21篇
  • springcloud
    8篇
  • Linux
    3篇
  • MySQL
    4篇
  • docker
    1篇
  • nosql
    1篇
  • Java
    9篇
  • IDEA
  • zookeeper
    1篇
  • redis
    2篇
  • 设计模式
    4篇
  • 算法
    3篇
  • maven
    1篇
  • Windows
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    spring架构
  • 搜索
    elasticsearch
  • 服务器
    linux
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

SpringBoot3整合Mybatis plus

我们在main方法有个注解,配置我们的mapper类路径后,Spring Boot 会帮我们生成bean放到IOC容器中,这样我们就不用每个mapper类写一个@Mapper注解了。启动成功后,调用我们的接口,就能够获取数据了。我们使用postman调用截图如下:当我们在。
原创
发布博客 2024.04.13 ·
2206 阅读 ·
9 点赞 ·
0 评论 ·
24 收藏

算法小本:前缀和数组

基本思路首先,我们会有一个原始数组,例如 int[] arr = {1, 4, 5, 9, 7, 2}。然后会要求我们求解某一段数组的累加和是多少,比如让我们求索引 1 ~ 3 的累加和,即求解answer = arr[1] + arr[2] + arr[3]。一般情况下,我们的思路为遍历数组需要的索引位置,累加得到结果。但是,如果我们如果需要频繁去得到某一段数组的累加和,那么每次计算的时间复杂度就是 O(n)。现在,我们就用累加和的思路去解决这个问题,使得时间复杂度变为 O(1)。第1步,根据
原创
发布博客 2022.01.16 ·
262 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

springboot实现多租户动态路由代码

01 背景当我们在做项目时,特别是ToB的项目,会发生一种场景,即大的业务流程是一样的,但是在某个节点,不同的租户有不同的业务需求。这就需要我们针对不同的租户将代码路由到不同的实现上面,从而执行正确的业务逻辑。如下图所示,我们现在有个业务逻辑,需要依次执行A、B、C、D四段代码逻辑。但是B和D节点,不同的租户有不同的业务逻辑,需要单独去实现,这时就需要我们能通过租户标识动态的路由到自己的实现上面。02 思路我们上节图中的B节点为例。首先,我们得创建一个X租户和所有租户的父类,比如我们这里就叫
原创
发布博客 2021.03.18 ·
2253 阅读 ·
3 点赞 ·
7 评论 ·
16 收藏

Mybatis 通过拦截器动态修改SQL

01 使用场景当我们在多租户的项目中,编写SQL语句都要带上tenant字段,用于区分不同的租户只能操作自己的数据。比如,像下面的SQLselect * from member where id = #{id} and tenant = #{tenant}但是,我们的tenant属性一般是放在一个ThreadLocal的变量中的,便于我们随时获取该属性进行一些业务处理。public class TenantContext { private static final ThreadLoca
原创
发布博客 2021.03.17 ·
4217 阅读 ·
4 点赞 ·
2 评论 ·
34 收藏

SpringBoot 使用 beforeBodyWrite 实现统一的接口返回类型

通常我们在 Spring Boot 的项目中,会使用一个类来作为统一的接口返回,比如这样:import lombok.Data;@Datapublic class Result<T> { private int code; private String message; private T data; public static <T> Result<T> success(T t) { Result<T>
原创
发布博客 2020.07.20 ·
17385 阅读 ·
41 点赞 ·
11 评论 ·
67 收藏

排查 JVM 总是 full GC 的问题

有时候,full GC 过多,会占用大量的 CPU 资源,导致 JVM 发生过多的 STW 问题我们开始写触发该场景的业务代码import java.util.concurrent.TimeUnit;/** * @author 594781919@qq.com * @date 2020/6/8 **/public class GcTest { public static void main(String[] args) throws InterruptedException {
原创
发布博客 2020.06.08 ·
392 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

排查 CPU 100% 的 Java 程序

这种问题,一般开发人员还是很难遇到,或者说是遇到了也会交给很厉害的人去处理,所以这里我们就自己模拟场景,然后去排查解决。当然实际生产情况查询原因更难,有很多复杂的情况。话不多说,首先是编写触发的代码public class CpuTest { public static void main(String[] args) { while (true) { /* */ } }}然后我们执行代码在这里我是在 centos 系统执行
原创
发布博客 2020.06.08 ·
256 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

springboot整合redisson

01 搭建redis服务我是在自己的云服务通过docker搭建了一个单机的redis服务docker run -d --rm --name redis5 -p 6379:6379 redis --requirepass "123456"02 创建应用1.在pom.xml文件导入redisson依赖<dependency> <groupId>org.red...
原创
发布博客 2019.12.12 ·
2855 阅读 ·
2 点赞 ·
3 评论 ·
4 收藏

JDK8源码阅读:wait方法和sleep方法的区别

wait和sleep的区别,这真是在面试中一个高高高高频的面试题。哈哈,要想说完这两个家伙的所有区别还是不太容易的,今天我们就来总结下这两个方法的区别。把小本本拿出来,一条条记下来。我们先来看看源码,是不是一听要看源码就脑阔疼,放心,这两个方法源码还是容易理解的。因为它们两个是native方法????。 /** * Causes the current thread to w...
原创
发布博客 2019.12.03 ·
445 阅读 ·
1 点赞 ·
4 评论 ·
0 收藏

设计模式之路:策略模式

01 说明定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。02 UML图03 代码实现public abstract class AbstractOperation { public abstract int calculate(int m, int n);}public class AddOperation extends AbstractOperat...
原创
发布博客 2019.11.20 ·
158 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring Cloud Alibaba实战(4) - 整合dubbo实现rpc调用

现在,我们也可以使用dubbo作为rpc框架,来实现服务提供者和服务消费者。01
原创
发布博客 2019.11.20 ·
3230 阅读 ·
2 点赞 ·
4 评论 ·
12 收藏

Spring Cloud Alibaba实战(3) - nacos作为配置中心

nacos除了能作为注册中心以外,还可以作为配置中心。01 在nacos编写配置
原创
发布博客 2019.11.20 ·
248 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

设计模式之路:七大设计原则

01 单一职责原则单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。02 开放-封闭原则03 依赖倒置原则04 里氏替换原则
原创
发布博客 2019.11.18 ·
130 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构之路:稀疏数组

假如,我们有一个二维数组array,里面大部分的数据都是0,只有两个数字不一样,分别是array[1][2] = 1 和 array[2][3] = 2。[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0][0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0][0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0][0, 0, 0, 0, 0, 0, 0...
原创
发布博客 2019.11.13 ·
201 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

设计模式之路:简单工厂模式

01 简介简单工厂模式,就是我们把需要new出来的对象放到工厂方法中进行创建。我们有一个抽象类叫Animal,每个动物都需要吃东西才能活着,所以我们在Animal类中定义一个抽象方法叫eat()。现在,我们有三种动物,分别是dog、cat和rabbit,然后我们都去继承Animal类,并实现eat()这个方法。最后,我们有一个工厂类,有一个静态方法get(String name),通过这个...
原创
发布博客 2019.10.23 ·
245 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring Cloud Alibaba实战(2) - nacos服务的一些细节

在上篇文章Spring Cloud Alibaba实战(1) - 快速上手nacos注册中心,我们留了一些问题还没解决,现在我们来一个一个解决掉吧。01 访问nacos页面1.1 端口号我们打开nacos/conf/application.properties文件可以发现设置了端口号为8848,还有应用的context path 为/nacos1.2 登录的账号密码我们在访问nacos...
原创
发布博客 2019.10.09 ·
251 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring Cloud Alibaba实战(1) - 快速上手nacos注册中心

Spring Cloud版本是Greenwich.RELEASESpringboot版本是2.1.9.RELEASESpring Cloud Alibaba版本是2.1.0.RELEASE01 环境准备需要在启动的机子上安装了jdk802 下载nacos的压缩包下载地址:https://github.com/alibaba/nacos/releases03 运行nacos服务...
原创
发布博客 2019.10.09 ·
351 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

springboot整合apollo配置中心

1 下载apollo源码源码地址2 使用docker-compose启动apollo进入到启动docker compose 的文件路径,我这里是在centos系统启动的apollo。我已经提前安装好docker和docker-compose。输入执行命令[root@jamie docker-quick-start]# docker-compose up启动成功后,我们就可以在浏览器...
原创
发布博客 2019.09.12 ·
717 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

springboot同一个类里的方法之间调用事务不起作用

今天在看项目代码的时候,发现在service层,有方法调用同类中的方法,SonarLint提示有bug。下图是我自己做测试时写的demo代码:经过测试发现,当A方法调用同类中带有@Transactional注解的B方法时,被@Transactional注解的B方法的事务是不起作用的。原因:spring会扫描@Transactional的类和方法,并通过动态代理实现启动事务的代理方法。这...
原创
发布博客 2019.09.06 ·
5973 阅读 ·
4 点赞 ·
2 评论 ·
17 收藏

springboot实现一个starter

1 pom文件引入依赖先新建一个maven工程。然后,在pom文件引入需要的依赖:<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boo...
原创
发布博客 2019.09.05 ·
228 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多