SpringBoot使用AOP详解一、介绍AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻 ......
322
0
0
2023-03-28
使用axios下载文件一、介绍在前后端分离的开发项目中,我们常常有下载文件或者报表的需求。如果只是简单的下载,我们可以简单使用a标签请求后端就可以了,不过一旦涉及到后端报错的回调、等待动画、进度条这种的,就没有任何办法了。所以,这里可以使用axios进行请求,获取到后端的文件流后,自己进行生成文件。这样就可以完成上面的那三种情况了。二、使用1)下载Excel ......
734
0
0
2023-03-28
目录前言正文一. DruidDataSource连接创建二. DruidDataSource连接销毁总结前言Druid是阿里开源的数据库连接池,是阿里监控系统Dragoon的副产品,提供了强大的可监控性和基于Filter-Chain的可扩展性。本篇文章将对Druid数据库连接池的连接创建和销毁进行分析。分析Druid数据库连接池的源码前,需要明确几个概念。D ......
376
0
0
2023-03-28
目录SpringBoot外部化配置(基于2.4.0以后)SpringBoot配置文件Spring中常见的配置文件类型Profile概述配置文件加载顺序Profile 配置覆盖变更(2.4.0以后)文档排序(2.4.0以后)激活指定配置文件导入额外的配置文件(2.4.0以后)激活外部配置文件optional可选的配置文件嵌入系统配置信息配置参数提示配置处理器创 ......
342
0
0
2023-03-27
目录动态SQL环境准备IF语句trim(where&Set) wheresettrimchoose&when&otherwisesql片段Foreach缓存一级缓存缓存示例缓存失效场景二级缓存开启全局缓存二级缓存示例动态SQL为什么叫做动态SQL:因为在程序执行中,mybatis提供的sql可以根据用户提供的字段数量、类型, ......
311
0
0
2023-03-27
关于spring事务你需要知道的知识点一、介绍大家都知道,在SpringBoot中,使用事务只需要添加@Transactional就可以添加事务,很是方便。那么它到底是怎么工作的呢?这么说有点晕头晕脑的,那来简单看下二、事务失效的场景1)事务需要代理类启动基本的配置我就贴出来了,就一个连接数据库的配置有啥好看的,数据库表也是一样那么接下来,先来一个UserD ......
317
0
0
2023-03-27
Java线程池一、介绍线程池,顾名思义,这是管理一堆线程而出现的对象。与数据库的连接池一致,它的出现解决了线程的频繁创建和销毁,从而浪费大量资源的问题。所以,线程池中有提前创建好的线程,使用时直接分配获取,使用完再由线程池管理是否销毁。优点降低资源消耗,也就是不需要重复多次的创建线程更好的管理线程比如可以获取当前运行的线程是什么还在等待执行的任务有什么二、使 ......
420
0
0
2023-03-27
SpringBoot整合rabbitMq一、介绍消息队列(Message Queue)简称mq,本文将介绍SpringBoot整合rabbitmq的功能使用队列是一种数据结构,就像排队一样,遵循先进先出的原则。而消息队列是一种消息中间件,在项目中我们可以将消息打包放入队列,再由消费者监听进行处理数据,再进行业务的处理那么使用队列可以带来哪些好处呢解耦异步流量 ......
320
0
0
2023-03-27
SpringBoot日志配置详情一、介绍在所有的项目中,日志是必不可少的,为了高效清晰的查找日志,可以配置日志输出的等级和格式。在配置后,可以自定义输出日志到指定目录,可以按照天数来分割日志,可以按照日志级别分割日志,可以按照大小来进行分割日志。输出的日志方式,可以说五花八门,但总有一款适合你的项目二、简单配置1、日志的级别关于日志的级别打印,需要搞清楚日志 ......
415
0
0
2023-03-27
Java多线程一、介绍在了解线程之前,还需要简单了解进程的概念。简单的来说就是一心多用在生活之中,我们常常可以一心多用。我可以一边打游戏,一边放着音乐听听歌,甚至可以再泡个脚。没错,这也可以理解成我的多线程生活。而在计算机之中,也有以上同时进行的任务,这就可以叫做多线程,例如进程:比如说电脑上开着游戏,音乐等其他多款应用。这每一个应用姑且可以算作一个进程线程 ......
441
0
0
2023-03-27
Juc并发编程包一、介绍关于Java如何创建线程,大家都可以马上能想到有两种方法,无非不就是继承 Thread类和实现 Runnable接口嘛,顶多再加上个实现 Callable接口。而且 synchronized解决并发问题,如果学艺不精,锁住的对象是哪个都不知道,实在是不友好。所以,我们在企业开发中基本不这样使用线程。在线程的启动上,我们常使用线程池。对 ......
332
0
0
2023-03-27
功能:Java注解的介绍和反射使用一、注解1、注解介绍java注解==(Annotation)==,又称为java标注,是jdk5.0引入的一种机制。Java 语言中的类、方法、变量、参数和包等都可以被标注,对这些代码段进行解释,编译时生成class时,标注也可以被编译。在运行时,java可以通过反射获取到注解内容,进行一些骚操作,进而简化开发。2、注解分类 ......
343
0
0
2023-03-27
目录说明@KafkaListener详解id 监听器的idgroupId 消费组名errorHandler 异常处理containerFactory 监听器工厂properties 配置其他属性@KafkaListener使用设置入参验证器扩展:Spring for Apache Kafka @KafkaListener使用及注意事项说明从2.2.4版开始, ......
743
0
0
2023-03-27
目录前言@ComponentScan+@Component@Configuration+@Bean通过@Import注解1.直接导入类的class2.导入配置类3.导入ImportSelector的实现类4.导入ImportBeanDefinitionRegistrar的实现类借助FactoryBean接口借助BeanDefinitionRegistryPo ......
363
0
0
2023-03-27
相信在日常开发中,基于 Redis 天然支持分布式锁,大家在线上分布式项目中都使用过 Redis 锁。本文主要针对日常开发中加锁过程中某些异常场景进行讲解与分析。本文讲解示例代码都在 https://github.com/wayn111/newbee-mall-pro 项目 test 目录下 RedisLockTest 类中。版本声明:Spring ......
367
0
0
2023-03-26