![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaEE
文章平均质量分 87
Fly丶X
一枚半路出家的码农,分享工作中总结的技术知识
展开
-
docker下搭建redis集群
准备好Linux系统机器,并安装好docker,阅读这篇文章前请先了解清楚docker的基本知识并且会熟悉运用docker的常用命令。学习docker基础知识可以参考这篇博文安装好并启动docker后就可以开始搭建redis了本篇文章我们安装redis6.0.6版本,执行以下命令直接下载redis6.0.6版本镜像安装好后再执行 docker images命令,查看到redis6.0.6镜像则安装成功安装好redis镜像后,此时redis还只是单体,我们需要搭建集群,集群配置如下:回到linux,原创 2022-12-04 22:14:24 · 6468 阅读 · 9 评论 -
SpringBoot自定义参数解析器同时支持json,form表单,拼接在uri的多种传参方式
一个http请求中有多种入参方式,比如json串,form表单,还有参数拼接在uri等。在SpringBoot里,一个接口接收什么类型参数都有对应实现方式,比如用@RequestBody注解修饰的形参接收json入参,但不能接收其他类型的入参,否则会报Unsupported Media Type错误。如果项目里要求实现一个接口能接收多种入参该如何实现?...原创 2022-08-10 22:48:31 · 1442 阅读 · 0 评论 -
docker下安装mysql5.7教程
准备好Linux系统机器,并安装好docker,阅读这篇文章前请先了解清楚docker的基本知识并且会熟悉运用docker的常用命令。学习docker基础知识可以参考安装好并启动docker后就可以开始安装mysql了。原创 2022-07-31 23:36:39 · 19144 阅读 · 2 评论 -
Springboot整合POI实现到处Excel报表示例
一、POI介绍具体介绍可以这篇文章https://blog.csdn.net/w893932747/article/details/89354979二、POI实现导出示例我们写一个springboot项目整合poi导出excel文件的接口例子1. 环境准备先准备好一个springboot项目工程,我这就不举例子了在springboot工程下引入poi依赖,这里以3.17版本为例<dependency> <groupId>org.apache.poi<原创 2022-05-27 21:05:44 · 527 阅读 · 0 评论 -
SpringCloud整合nacos配置中心并配置nacos权限
1. 环境准备springcloud版本需要与springboot版本兼容,否则无法运行;nacos是springcloud alibaba旗下的,版本对应与原生态的springcloud有所不同本文所举的例子版本如下springcloud:Hoxton.SR9springcloud alibaba:2.2.3.RELEASEspringboot:2.3.5.RELEASEnacos:2.2.3.RELEASE在springcloud项目工程里引入以下依赖 <dependencyM原创 2022-05-03 20:04:19 · 8251 阅读 · 1 评论 -
Linux(CentOS7)下搭建elasticsearch集群,超详细
最近工作项目引入了的elasticsearch数据库,我被分配了搭建elasticsearch环境,本篇文章就来介绍如何搭建nacos集群1. 环境准备Linux系统:CentOS7-2009三台主机:192.168.64.70192.168.64.71192.168.64.72elasticsearch:elasticsearch-7.6.2JDK:JDK1.8(ES需要依赖JDK1.8以上版本运行,安装ES前请确认机器安装好了JDK1.8以上)elasticsearch下载地址:h原创 2022-01-28 22:38:25 · 2760 阅读 · 0 评论 -
Linux(CentOS7)下搭建nacos集群,超详细
最近工作接手一个调整项目框架的活,我被分配到搭建nacos注册中心的工作;nacos注册中心是alibaba旗下的一个开源组件,它提供了SpringCloud alibaba 微服务架构的注册中心以及配置中心功能,并且提供了比较直观的可视化界面;本篇文章就来介绍如何搭建nacos集群1. 环境准备Linux系统:CentOS7-2009三台主机:192.168.64.70192.168.64.71192.168.64.72nacos:nacos-2.0.2MySQL:MySQL8.0.1原创 2022-01-22 20:50:31 · 2535 阅读 · 0 评论 -
Linux(CentOS7)下MySQL8.0安装教程 --超详细
1. 下载MySQLmysql官网下载地址:https://downloads.mysql.com/archives/community/版本选择Linux-Generic下mysql-8.0.15 (x86 64-bit)版本2. 导入MySQL安装包到linux系统我们把下载好的mysql安装包导入到linux系统下,这里以CentOS-7-2009 linux系统下的 /usr/local/ 路径为例子:#解压tar -xvf mysql-8.0.15-linux-glibc2.12原创 2022-01-09 16:37:37 · 2714 阅读 · 1 评论 -
SpringBoot自定义参数解析器HandlerMethodArgumentResolver应用详解
前言在Spring三大框架Controller层中,经常可以看到@RequestParam,@PathVariable,@RequestBody等注解实现自动封装入参,这些都是通过Spring MVC框架提供的参数解析器HandlerMethodArgumentResolver接口实现的,本篇文章将会介绍参数解析器HandlerMethodArgumentResolver的应用HandlerMethodArgumentResolver解析我们来看看HandlerMethodArgumentResol原创 2022-01-08 12:53:26 · 2162 阅读 · 0 评论 -
Springboot过滤器和拦截器的区别
上两篇文章我们介绍了过滤器Filter和拦截器Intercepter,其功能都是对请求进行拦截并对请求过滤,本篇文章就介绍一下两者的区别1. 过滤器和拦截器的区别过滤器和拦截器触发时机不一样,过滤器是在请求进入容器后,但请求进入servlet之前进行预处理的。请求结束返回也是,是在servlet处理完后,返回给前端之前。拦截器可以获取IOC容器中的各个bean,而过滤器就不行,因为拦截器是spring提供并管理的,spring的功能可以被拦截器使用,在拦截器里注入一个service,可以调用业务逻辑转载 2021-12-30 22:18:34 · 5540 阅读 · 1 评论 -
SpringBoot自定义拦截器interceptor使用详解
上一篇文章我们介绍了过滤器Filter使用详解,Filter是依赖于Servlet,即Filter生命周期由Servlet容器管理,这篇文章我们介绍一个可以存在于Servlet以外的也具有过滤功能的组件——由Spring提供的Interceptor拦截器;拦截器主要应用在日志记录,权限校验等安全管理方面比较多Spring Boot拦截器Intercepter详解创建自定义拦截器实现HandlerInterceptor接口,并按照自定义要求重写指定方法需要一个配置类实现WebMvcConfigure原创 2021-12-26 19:13:49 · 6900 阅读 · 0 评论 -
SpringBoot自定义过滤器Filter使用详解
JavaWeb组件Servlet提供了filter过滤功能,其功能是对目标资源的请求和响应进行拦截,对拦截到的请求和响应做出特殊的功能处理,比如我们请求中有一些敏感信息过滤就是利用过滤器过滤1. Filter的原理Java Servlet API中提供了Filter接口,编写Filter的实现类,从而实现自定义过滤器。Filter的请求流程为:客户端发起请求服务容器判断当前请求资源是否有过滤器,有则执行过滤器过滤器过滤通过后请求到Servlet服务器返回结果通过过滤器返回给请求方Filt原创 2021-12-20 20:29:27 · 10205 阅读 · 1 评论 -
Spring AOP原理——动态代理解析及简单使用
在 Java 中,动态代理是一个很常用的功能,虽然说一般不需要自己直接去用,但是了解它们是怎么回事还是很有必要的。这篇博客的主要内容便是 JDK 动态代理和 CGLIB 动态代理的简单使用和理解。JDK 动态代理JDK 动态代理依赖于 接口 来确定它需要代理的方法,使用时可以分为以下几个角色:TargetInterfaces - 需要代理的目标接口(们),JDK 动态代理将会为这些接口的方法调用创建代理TargetObject - 实现了目标接口的对象 InvocationHandler -原创 2021-12-11 13:38:05 · 479 阅读 · 0 评论 -
SpringBoot自动装配原理解析——面试可以这样会回答
1. 前言SpringBoot是目前软件中最主流的框架,无论是工作还是面试基本都有它的身影,SpringBoot主要解决了传统spring的重量级xml配置Bean,实现了自动装配;所以,我们也常在面试中被问到SpringBoot是如何实现自动装配。本篇文章会从springboot源码进行自动装配的原理解析,并总结面试如何简洁的描述2. 源码解析我们以springboot 2.2.5.RELEASE版本进行解析2.1 @SpringBootApplication源码解析先看看springboo原创 2021-11-28 16:27:50 · 20464 阅读 · 2 评论 -
Springboot框架自动装配原理之@Import注解作用
1. 简介在平时看源码或者很多配置类上面都会出现@Import注解,功能就是和Spring XML 里面 的 一样. @Import注解是用来导入配置类或者一些需要前置加载的类.,springboot框架实现自动装配的原理之一正是利用这一特性解决了spring框架中重量级的xml配置2. 源码解析@Import注解源码以及源码描述的翻译/** - Indicates one or more <em>component classes</em> to import &原创 2021-11-20 20:29:57 · 1628 阅读 · 0 评论 -
MySql语句优化总结以及解析验证,超详细(二)
接着上一篇,上篇主要分享了sql优化的技巧,这些在我们平时写sql养成这样的习惯即可,当我们需要对慢sql分析的时候,我们要如何sql语句判断是否命中索引以及执行过程中那部分瓶颈?答案是使用sql执行计划分析,这里利用mysql的关键字explain来实现1. sql执行计划执行计划简单来说就是把sql在数据库中执行的一步一步的过程的信息列出来,在mysql中使用explain关键字查看sql执行计划例如:查询SELECT good_id,good_code,title,sku_title,su原创 2021-11-01 08:32:03 · 232 阅读 · 0 评论 -
MySql语句优化总结以及解析验证,超详细(一)
我们使用以下表作为来作为sql优化的验证:CREATE TABLE `good` ( `good_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '商品id', `good_code` varchar(30) NOT NULL COMMENT '商品编码', `title` varchar(100) DEFAULT NULL COMMENT '标题', `sku_title` varchar(256) DEFAULT NULL COMMENT原创 2021-10-21 22:28:07 · 241 阅读 · 0 评论 -
深入解析mysql索引加速查询原理及优化策略
关于sql优化,我们可以发现很多资料以及大佬们的优化经验都会涉及到索引,那么mysql索引是什么?索引是如何优化查询的?这篇文章会详细的讲述索引的分类常见的索引类型有:主键索引、唯一索引、普通索引、全文索引、组合索引主键索引:根据主键建立索引,每个主键默认会建立主键索引,不允许重复,不允许空值;唯一索引:用来建立索引的列的值必须是唯一的,允许空值普通索引:用表中的普通列构建的索引,没有任何限制全文索引:用大文本对象的列构建的索引(不常用,本文暂时不讲)组合索引:用多个列组合构建的索引,这多个原创 2021-08-22 16:34:57 · 661 阅读 · 0 评论 -
浅析java设计模式之单例模式
单例模式顾名思义就是只含有一个实例,一个实例复用,达到减少创建对象的开销以及大大节省资源的效果,是java23种设计模式最简单应用最多的设计模式;单例模式的实现方法主要分为饿汉式和懒汉式两大类,饿汉式public class SimpleInstance { public static SimpleInstance simpleInstance = new SimpleInstance(); private SimpleInstance() {} public static原创 2021-08-14 16:33:44 · 291 阅读 · 0 评论 -
Spring AOP 切面(Aspect)应用详解
1. AOP 切面应用下面是一个AOP切面的一个简单的应用实例引入AOP依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>创建切面类对象@Aspect@Componentpublic class ItemCach原创 2021-06-12 22:52:01 · 2416 阅读 · 0 评论 -
spring事务为何失效?正确的spring事务使用方式
概述我们知道spring事务分声明式事务和编程式事务;编程式事务是由用户手动去开启事务并手动提交或回滚,一般不用,声明式事务是由用户将一段业务逻辑声明为事务,由spring容器代理完成,用spring事务注解@Transactional即可声明,但是事务注解@Transactional使用不当会使事务失效,下面我们就来盘点spring声明式事务的正确使用方式定义一个controller,并注入service来调用事务方法@Controller@RequestMapping("brand")pub原创 2021-06-08 22:41:41 · 177 阅读 · 0 评论