- 博客(29)
- 收藏
- 关注
原创 redis高级(缓存穿透)
场景: 当大量请求过来查询redis,redis无该数据,数据库也无该数据,所有请求指向数据库,这时会造成数据库崩溃,该现象称为redis缓存穿透 两种解决方案: 一、当redis无该数据去查数据库,数据库无该数据时,在redis中存入空 @GetMapping("info/{id}") public R getInfo(@PathVariable("id") String id){ Object order = redisUtil.get(id); if (ord
2020-10-18 16:25:30
434
2
原创 spring boot与redis简单整合
简单说明 在spring boot2.x之后,原来使用的jedis被替换成为lettuce 区别: jedis:采用的是直连,多线程操作的话是不安全的,如果想要避免不安全,使用jedis pool连接池; lettuce:采用netty,实例可以在多个线程中进行共享,不存在线程不安全的情况,可以减少线程数据 Demo 1.maven依赖 <dependency> <groupId>org.springframework.boot</groupId&g
2020-10-17 11:07:49
317
原创 rabbitmq高级特性(延迟队列)
延迟队列 使用场景 生产者 1.maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency> &
2020-10-14 21:22:38
437
1
原创 rabbitmq高级特性(死信队列)
死信队列 消息成为死信的三种情况: 队列消息长度到达限制,超过的消息成为死信; 消费者拒绝消费消息,basicNack,并且不把消息重新放入原目标队列,requeue=false; 原队列存在消息过期设置,消息到达超时时间未被消费; Demo 生产者 1.maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s
2020-10-14 17:41:28
319
原创 rabbitmq高级特性(TTL)
TTL(过期时间) 一、队列统一过期 二、消息单独过期 1.maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <dependency>
2020-10-13 20:13:37
364
1
原创 rabbitmq高级特性(消息手动确认)
为了保证消息不丢失,从生产者两种模式(确认模式和返回模式)到消费者手动确认的一个大整合 生产者 1.maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>
2020-10-13 15:23:31
1188
2
原创 springboot与rabbitmq简单整合
生产者 1.创建生产者spring boot工程 2.maven依赖坐标 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 3.配置文件yml server: port: 900
2020-10-09 17:09:45
231
1
原创 读取配置文件中常量方法
第一种: 创建常量读取工具类:ConstantPropertiesUtil.java // spring的一个接口,当项目启动后,spring加载,会执行接口中的afterPropertiesSet方法 @Component public class ConstantPropertiesUtil implements InitializingBean { // 读取配置文件 @Value("${aliyun.oss.file.endpoint}") private String en
2020-09-10 10:54:12
917
转载 随机字符串工具类
RandomStringUtils; 包名:import org.apache.commons.lang.RandomStringUtils; RandomStringUtils.random(int count) => 产生6位长度的随机字符串,中文环境下是乱码 System.out.prin
2020-08-25 13:51:05
601
原创 开启线程的四种方式
开启线程四种方式 public class ThreadTest { // 开启一个线程池,容量为10 public static ExecutorService executorService = Executors.newFixedThreadPool(10); public static void main(String[] args) { // 1.继承thread MyThread myThread = new MyThread();
2020-08-20 21:48:28
521
原创 JSR303后端数据校验
一、简单校验 1.给Bean添加校验注解,导入包为javax.validation.constraints 2.开启校验功能@Valid 只有向后端提交这个字段才会校验,没有提交不校验 3.自定义一个全局异常处理 获取数据校验错误信息,并返回json @Slf4j //@ControllerAdvice(basePackages = "com.atguigu.gulimallproduct.controller") //@ResponseBody @RestControllerAdvice(baseP
2020-08-09 18:04:59
276
原创 后端返回状态码规范
系统错误码 编写错误码枚举类 public enum BizCodeEnum { UNKNOW_EXCEPTION(10000,"系统未知异常"), VAILD_EXCEPTION(10001,"参数格式校验失败"); private Integer code; private String msg; BizCodeEnum(Integer code,String msg){ this.code = code; this.msg =
2020-08-09 17:12:39
2802
原创 nacos做为配置中心统一管理配置
一、配置微服务 1、maven依赖 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> 2.创建命名空间 微服务中一般一个服务一个命名空间,如图member模块,创建一个命名空间,开发、测试、生产分别放在不
2020-08-05 17:48:57
1897
原创 springboot中logback日志
日志级别 分为:ERROR、WARN、INFO、DEBUG、TRACE 默认情况下,spring boot从控制台打印出来的日志级别只有INFO及以上级别 Logback日志 spring boot内部使用Logback作为日志实现的框架,在resources 中创建 logback-spring.xml **配置logback-spring.xml ** <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true"
2020-08-03 11:07:48
273
原创 一键部署——Jenkins
环境准备 一、安装Java运行环境 1、上传或下载安装包,cd/usr/local jdk-8u121-linux-x64.tar.gz 2、解压安装包 tar -zxvf jdk-8u121-linux-x64.tar.gz 3、建立软连接 ln -s /usr/local/jdk1.8.0_121/ /usr/local/jdk 4、修改环境变量 vim /etc/profile export JAVA_HOME=/usr/local/jdk export JRE_HOME=$JAVA_HOME/j
2020-08-01 23:06:05
1738
1
原创 如何更改idea中git用户名和密码
当我们使用idea中git时向远端push输入用户名和密码后,idea会记住用户名密码,那当我们把这个项目push到另一个地方时,用户名和密码就不一定正确,这时idea中git远端用户名密码如何更改了 解决方法 找到对应git地址,删除或修改即可 ...
2020-08-01 19:13:30
14680
1
原创 springboot项目中使用druid数据源
maven依赖 <!-- 引入druid数据源 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.9</version> </dependency> 配置文件 sp
2020-07-20 16:24:40
419
原创 easyexcel简单入门
maven依赖 <!-- easyexcel依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.1</version> </dependency>
2020-07-19 21:13:27
349
原创 MySQL引入maven依赖常见问题
两种常见驱动 com.mysql.jdbc.Driver 是 mysql-connector-java 5版本, com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6以上版本
2020-07-17 16:10:17
4572
转载 git中cherry-pick的使用
开发中可能遇到如下场景 场景: 如果你的应用已经发布了一个版本2.0, 代码分支叫release-2.0, 现在正在开发3.0, 代码的分支叫dev-3.0. 那么有一天产品说, 要把正在开发的某个特性提前上线, 也就是说要把dev-3.0分支上的某些更改移到2.x的版本上, 那么怎么办呢? cherry-pick 该cherry-pick上场了, cherry-pick会重演某些commit, 即把某些commit的更改重新执行一遍. 那么上述问题的解决方案如下: 基于release-2.0分支新建
2020-07-15 18:34:09
704
转载 IDEA中git的使用
工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下:假设小组中有两个人,组长小张,组员小袁场景一:小张创建项目并提交到远程Git仓库场景二:小袁从远程Git仓库上获取项目源码场景三:小袁修改了部分源码,提交到远程仓库场景四:小张从远程仓库获取小袁的提交场景五:小袁接受了一个新功能的任务,创建了一个分支并在分支上开发场景六:小袁把分支提交到远程Git仓库场景七:小张获取小袁提交的分支场景八:小张把分支合并到主干下...
2020-07-15 18:18:49
202
原创 springboot微服务项目中常遇问题
问题如图 Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured. 我们在父类工程中如果引入数据库依赖,在子模块中一般会在配置文件中写明数据源的url等,但是在有些模块中不需要访问数据,这是启动这些子模块就会报上述错误 解决方案 在子模块启动类上面排除数据源自动配置类 ...
2020-07-15 16:42:35
484
转载 前端vue几款模板介绍
1、AdminLTE AdminLTE是一个完全响应的后台管理模板。基于Bootstrap3框架。高度可定制,易于使用。适合许多屏幕分辨率从小型移动设备到大型台式机。 源码地址:https://github.com/ColorlibHQ/AdminLTE 演示地址:https://adminlte.io/themes/AdminLTE/index2.html 2、Gentelella Admin Gentelella Admin是一个免费的使用Bootstrap后台管理模板。该模板使用默认的Bootstr.
2020-07-14 18:14:38
12054
原创 项目中异常处理方案
异常三种处理方案 实际项目中为了让用户有更好的体验,代码出现异常一般不会直接显示给用户,而是自己进行处理后返回,一般有三种处理方案,全局异常处理、特定异常处理和自定义异常处理,下面开始会一一介绍 全局异常处理 @ControllerAdvice public class GlobalExceptionHandler { // 全局异常 @ExceptionHandler(Exception.class) @ResponseBody public R error(Except
2020-07-12 22:20:48
1449
原创 实际项目中统一返回数据格式
返回数据格式 自定义返回code public interface ResultCode { // 实际开发中也可以采用枚举 public static Integer SUCCESS = 20000; //成功 public static Integer ERROR = 20001; //失败 } 返回结果实体类 //统一返回结果的类 @Data public class R { @ApiModelProperty(value = "是否成功") pr
2020-07-12 15:20:09
468
原创 Springboot中如何使用swagger进行接口测试
Springboot中如何使用swgger进行接口测试测试接口两种方式maven依赖响应结果对测试界面简单优化优化后界面代码截图 测试接口两种方式 一般前端测试采用postman,那么后端测试使用swagger maven依赖 第一步:导入swagger的依赖 <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfo
2020-07-12 11:22:46
1416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅