springboot的bean以及一些注解@primary、@qualifier-编程思维

1、bean的加载顺序 spring容器载入bean顺序是不确定的,在一定的范围内bean的加载顺序可以控制。 spring容器载入bean虽然顺序不确定,但遵循一定的规则: 1、按照字母顺序加载(同一文件夹下按照字母数序;不同文件夹下,先按照文件夹命名的字母顺序加载) 2、不同的bean声明方式不同的加载时机,顺序总结:@ComponentScan > @Import > @Be

redisson分布式锁的应用——秒杀、超卖 简单例子(分布式锁相关)-编程思维

1、常见的分布式事务锁 1、数据库级别的锁 乐观锁,给予加入版本号实现 悲观锁,基于数据库的for update实现 2、Redis,基于SETNX、EXPIRE实现 3、Zookeeper,基于InterProcessMutex实现 4、Redisson的lock、tryLock(背后原理也是Redis) 2、redis搭建模式 单机: 只有一台,挂了就无法工作。主从:备份关系,数据会同步

jenkins持续集成入门到精通(进阶篇)-编程思维

视频参考:https://www.bilibili.com/video/BV1Vp4y1b7ZN?p=51 1. Jenkins+Docker+SpringCloud持续集成流程说明 大致流程说明: 1)开发人员每天把代码提交到Gitlab代码仓库 2)Jenkins从Gitlab中拉取项目源码,编译并打成jar包,然后构建成Docker镜像,将镜像上传到Harbor私有仓库。 3)Jenki

springboot使用注解aop实现日志模块-编程思维

我们在日常业务操作中需要记录很多日志,可以在我们需要的方法中对日志进行保存操作,但是对业务代码入侵性大。使用切面针对控制类进行处理灵活度不高,因此我们可以使用自定义注解来针对方法进行日志记录 1.注解 package com.infra.open.api.log; import java.lang.annotation.*; /** * 日志注解 * * @Author : cgy