后端
文章平均质量分 54
无关痛痒qaq
菜字辈的coder
展开
-
从高德上同步省市区行政区划数据到本地数据库demo
本地数据库表结构:create table tbl_sys_area_bak( id int not null primary key, parent_ids varchar(255) null comment '所有上级(1,2,3)', parent_id varchar(32)原创 2021-12-08 11:43:54 · 1326 阅读 · 0 评论 -
使用tomcat启动web项目,控制台日志乱码
近期,手上有个老web项目要在本地跑一下,配置好tomcat之后,启动项目,结果看到IDEA的控制台显示出下图中的乱码日志,但是最终不会影响项目的启动(仅仅是日志的显示有问题)。 处理方法:去tomcat的conf目录下,找到logging.properties文件;进入该文件,修改日志的字符编码为GBK重新启动项目,控制台日志正常了...原创 2021-11-25 15:26:42 · 422 阅读 · 1 评论 -
Springboot项目同时接收多个文件和多个参数
最近手头项目有个接口,需要同时接收多个图片文件上传,并且还要接收一个入参对象,记录一下接收的方式; 在下图中的接口中,没有添加@RequestBody注解,因为前端在传递参数的时候,消息头中的content-type定义了消息体的请求格式,如果使用了@RequestBody注解,则消息体只能是application/josn,而这里接收多文件,所以消息体的请求格式应该是Content-Type:multipart/form-data。 需要注意的是:@Valid注解可以正常使用测试.原创 2021-08-11 16:46:34 · 7663 阅读 · 3 评论 -
Linux下使用yum方式安装mysql8.x版本
一、下载Mysql安装包 官网下载yum源rpm包 点击???????????? 右键:No thanks,just start my download,复制链接然后进入linux系统连接工具,进入下载目录中,比如我这里是直接下载到/soft目录中(/soft目录是我自己新建的):依次执行以下命令cd /mkdircd /softwget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm原创 2021-06-10 11:39:18 · 608 阅读 · 3 评论 -
Mysql的读写分离和主从复制过程概述
通常在数据库中,我们遵循着二八原则,也就是增加、修改、删除占据数据库操作中的20%,而数据库的查询则占据了数据库操作的80%。所以基于此现象,我们通常会对数据库进行读写分离。...原创 2021-06-07 16:06:15 · 227 阅读 · 0 评论 -
Slf4j和logback日志组合
目前项目开发中,常用的日志框架组合就是commons Logging和Log4j,除了这一对之外,就是SLF4J和Logback的组合了(充分体现了java的庞大开源体系,为了实现同一个目的,可以有多种不同的替代解决方案)。 SLF4J和Logback之间的关系和commons Logging、Log4j一样,前者作为一个日志的接口,后者作为日志的实现。 在使用上,这两队组合之间没有太大的区别,不过个人认为SLF4J和Logback在使用上更加的方便,举个栗子:Commons Logging-原创 2021-06-02 10:15:55 · 318 阅读 · 0 评论 -
Log4j日志的配置文件
Log4j是一种非常流行的日志框架,当我们使用Log4j输出一条日志的时候,它可以自动通过不同的appender把同一条日志输出到不同的目的地。1.console 输出到控制台2.file 输出到文件3.socket 通过网络输出到远程计算机上4.jdbc 输出到数据库当我们在项目中引入了log4j的时候,我们可以通过配置文件来自定义日志的打印参数,例如可以自动添加日期、时间、方法名等信息 将配置文件放到项目的classpath下面,就可以让log4j按照我们的配置来进行日志的原创 2021-06-01 18:02:25 · 334 阅读 · 0 评论 -
Stream常用方法使用案例
一、min() /** * min():取流中最小值 */ @Test void test1(){ List<Integer> list = List.of(1,4,2,8,5); Integer num = list.stream().min((o1, o2) -> o1.compareTo(o2)).get(); System.out.println(num); //1 }二、max() /** * max():取流中的最大原创 2021-06-01 14:57:26 · 546 阅读 · 0 评论 -
德鲁伊后台监控配置
德鲁伊连接池----Java语言中最好的数据库连接池 Druid就不多说了,现在项目中数据库模块相当重要的一个依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.16</version></dependency>这里主要记录一下Druid的后台监原创 2021-04-15 10:12:22 · 1229 阅读 · 0 评论 -
Springboot项目实现自定义拦截器
拦截器和过滤器的区别:过滤器(Filter) 它依赖于servlet容器。在实现上,基于函数回调,它可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的,是用来做一些过滤操作,获取我们想要获取的数据,比如:在Javaweb中,对传入的request、response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者Controller进行业务逻辑操作。通常用的场景是:在过滤器中修改字符编码(CharacterEncodingFilte原创 2021-04-14 16:38:47 · 254 阅读 · 0 评论 -
SpringBoot项目自定义Filter过滤器
在Springboot项目中,常用的自定义过滤器的方式有两种:@WebFilter和FilterRegistrationBean,下面通过案列分别使用两种方式来实现自定义Filter。一、@WebFilter 此注解常用的属性有以下三种:属性名类型描述filterNameString指定该filter的名称urlPatternsString指定该filter所拦截的urlvalueString与urlPatterns一致我们可以通过注解@Or原创 2021-04-14 12:43:33 · 562 阅读 · 0 评论 -
Linux环境下安装Mysql-8.0.23(2021-3-26)
最近购买的云数据库快到期了,趁着现在还有几天时间,先自己在服务器上安装一个mysql,将云数据库里面的数据迁过来。一、下载Linux版本的Mysql安装包????Linux版本安装包下载链接二、检查环境 检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。如果安装了mariadb, 需要将其卸载掉。yum list installed | grep mariadb 卸载掉mariadbyum原创 2021-03-26 18:37:18 · 882 阅读 · 0 评论 -
Linux环境下安装Redis
本篇文章记录下在Linux环境下安装Redis的过程一、下载安装包????Redis官方下载地址 通过以上方法可以下载到redis-6.2.1.tar.gz安装包二、上传安装包到Linux服务器 我这里上传的是自己买的阿里云服务器,通过工具Xftp将redis-6.2.1.tar.gz上传到服务器的/usr/local/目录下,这里的目录可以是自定义。 上传成功之后,通过以下命令解压缩redis-6.2.1.tar.gzcd /usr/local/tar -zxvf red原创 2021-03-23 13:26:17 · 225 阅读 · 1 评论 -
Cannot invoke “java.lang.Comparable.compareTo(Object)“ because the return value of “java.util.functi
目前项目里面使用了swagger生成接口文档,然后在浏览器上刷新swagger-ui得时候,项目报错如下:Cannot invoke "java.lang.Comparable.compareTo(Object)" because the return value of "java.util.function.Function.apply(Object)Swagger-Ui显示如下:解决方法:在项目得某个接口上面,有个入参注解上面没有写参数内容,导致Swagger-Ui页面报错,将该注解注释掉原创 2021-02-03 11:40:02 · 14142 阅读 · 1 评论 -
IDEA解决Cannot download sources的问题
在使用IDEA的时候有时候想要看看源码,但是点击Download sources的时候却会在IDEA的右下角显示Cannot download sources。此时只需要点击Terminal:然后输入:mvn dependency:resolve -Dclassifier=sources然后就可以查看源码了...原创 2020-04-21 11:14:09 · 870 阅读 · 0 评论 -
宝塔---撒瓜式安装服务环境
刚不是整了个云服务器自己玩儿嘛,避免不了屁颠屁颠的安装一大堆软件服务,什么reids啦、mysql啦、tomcat啦……反正就那一堆东西吧。这次我没有再使用原生的安装方式,而是使用了傻瓜式安装服务器环境的神器----宝塔!!! 宝塔的默认端口号为8888,为了避免后面我们访问宝塔控制面板的时候访问不到8888端口,首先我们到阿里云的安全组中放行8888端口。1.进入控制台---》网络与...原创 2020-03-30 16:33:30 · 337 阅读 · 0 评论 -
入手阿里云如何使用Xshell连接远程服务器
这次疫情爆发,马爸爸的阿里又一次大放异彩,不仅为抗疫多次捐款,还为国内外的各大医疗机构提供了强大的云计算服务支持,根据谷歌指数显示:阿里在国内云服务市场的占有率47.6%,而在全球范围内,阿里云市场规模仅次于亚马逊AWS和微软Azure,排在市场前三位。所以阿里的云服务能力毋庸置疑,至少国内是首屈一指的。 这几天去阿里云官网溜达了一圈,正好看到云服务器有活动(200多块钱包三年),个人...原创 2020-03-30 10:32:25 · 564 阅读 · 0 评论 -
推荐一款实用的java工具包---Hutool
最近的项目不是很忙,闲下来浏览了一些技术网站,发现一个好东西----Hutool(当然可能很多朋友已经知道了这款产品),hutool是一款java的工具包,里面涵盖了很多的工具类,虽然部分的工具类目前还只是简单封装,不一定能够完全满足项目使用需求,但是常见的方法基本都有了,能够帮我们简化代码,直接在项目的pom.xml文件中导入下面的依赖:<dependency>...原创 2019-10-08 11:17:29 · 1239 阅读 · 0 评论 -
如何使用JS实现图片幻灯片自动播放
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script>// 所有需要展示的图片建立一个数组 var images = ["../img/001.jpg&q原创 2018-11-28 11:53:54 · 1751 阅读 · 1 评论 -
Springboot项目中slf4j日志的简单使用
The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time. 官网对于slf4j的描原创 2020-05-15 14:14:11 · 1050 阅读 · 0 评论 -
springboot项目如何获取配置文件中的值?
application.properties或者application.yml文件用于改变spring容器的自动配置默认值,如果我们想使用配置文件中值的话可以使用以下操作:案例:从配置文件中赋值给实体类Trade创建一个实体类Tradepackage org.magic.redis.entiy;import java.io.Serializable;import java.util.List;import java.util.Map;import lombok.Data;import or原创 2020-05-13 15:54:06 · 754 阅读 · 0 评论 -
自定义RedisTemplate
redis两种默认的Template 之前的一篇博客Springboot项目整合Redis记录了RedisTemplate和StringRedisTemplate的使用效果,由于分别使用了不同的序列化器,所以在Redis中存储的形式也不相同。redisTemplate使用的是默认的序列化器jdk序列化方式,而StringRedisTemplate使用了String序列化方式。这里不再赘述。为了...原创 2020-05-08 17:14:19 · 4167 阅读 · 0 评论 -
几行代码解决邮件发送服务
之前做人事管理系统的时候涉及过邮件发送服务,业务场景就是公司面试通过之后会在人事管理系统中添加该员工信息,添加成功之后系统自动发送入职邮件。接入邮件服务比较easy,这里记录一下搭建简单的邮件服务。开启POP3/SMTP服务首先,在项目中加入邮件服务需要开启POP3/SMTP服务,以QQ邮箱为例:登录QQ邮—–》设置—–》账户—–》开启POP3/SMTP服务引入mail依赖<...原创 2020-05-08 15:24:34 · 665 阅读 · 0 评论 -
微信扫码支付模式一和模式二有何区别?
微信扫码支付有两种不同的模式:模式一流程流程图模式二流程流程图通过两种模式的流程图分析:二者之间使用的场景不同,其最根本的区别就是扫码的时候是否订单已经生成。模式一是适用于商超实体店的付款二维码,而模式二是适用于网页订单付款二维码。...原创 2020-05-07 10:38:24 · 553 阅读 · 0 评论 -
springboot项目使用mongoTemplate模板操作mongodb的工具类
此工具类封装了一些常用的操作mongodb的方法,例如:添加索引、文档、范围查询、条件查询、排序……package org.magic.mongo.utils;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.regex.Pattern;import javax...原创 2020-04-29 16:29:34 · 1962 阅读 · 0 评论 -
掰扯一下编程语言的演化历程
Fortran(Formula Translation)语言是世界上第一个被正式推广使用的高级语言。自1956年正式使用开始一直是数值计算领域所使用的主要语言。 Algol是算法语言ALGOrithmic Language的简称。是计算机发展史上首批清晰定义的高级语言。 BCPL(Basic Combined Programming Language),一种早期的高级语言,后被推广成...原创 2020-04-26 14:35:13 · 516 阅读 · 0 评论 -
关于POI的一揽子问题
1.Excel 2003和 Excel 2007版本的区别?1.1 文件的后缀名不一样.xls是03版本文件的后缀名.xlsx是07版本文件的后缀名1.2 最高行数不一样03版本的最高行数是65536行但是07版本的行数没有限制2.使用时不区分Excel 2003和 Excel 2007版本有什么后果? 如果我们在项目中使用POI进行表格数据的读写操作的时候没有注意区分要使...原创 2020-04-24 17:15:06 · 603 阅读 · 0 评论 -
Swagger在Springboot项目中的使用
一、Swagger的历史背景 Swagger最初是一种简单的设计规范,用于2010年设计Restful API。后来由规范和开源工具组成的Swagger项目非常受欢迎,形成了一个庞大的社区工具生态系统。2015年Swagger被SmartBear收购,并被捐赠给Linux基金会。二、Swagger的作用 说到Swagger的作用,就必须说到开发现状:现在项目的开发基本都实现了前后端分离,...原创 2020-04-20 18:06:05 · 387 阅读 · 0 评论 -
FastDFS---分布式文件存储系统安装与使用
最早接触FastDFS还是一年之前,那会儿我们的一个项目中就用到了这个技术,但是关于FastDFS的一些基础知识也一直没有去研究,今天趁着有时间想啃一下这块骨头。1.什么是FastDFS? FastDFS是阿里的技术大佬余庆在2008年用C语言实现的一款分布式文件管理系统。它主要是用来解决大容量存储和负载均衡问题,支持横向组扩展和同步热备。其主要的功能有以下四点:文件存储文件同步...原创 2020-04-12 17:02:24 · 370 阅读 · 0 评论 -
内存溢出(OOM)故障排查---JProfiler
&原创 2020-01-14 16:54:37 · 2173 阅读 · 0 评论 -
Native关键字
不知道大家在学习线程的时候有没有注意到Thread这个类中有下面这样一些代码: 大家如果看了Thread类的源码的时候就会发现,Thread就是一个普通的class类,但是为什么在这个类中可以定义一个类似于接口的方法呢?但是我们自己来定义一个这样的方法就会报错:但是如果我们加上native关键字的话,情况就不一样了:加上native关键字的时候,就不会再报错了。1.n...原创 2020-01-12 17:35:05 · 296 阅读 · 0 评论 -
IDEA集成Git上传代码到码云
Git相信大家都知道是我们现在java开发非常常用的项目版本控制工具,另外SVN也是比较常见的。但是在分布式开发当道的今天,Git毫无疑问是进行版本控制的不二选择。那么如何在IDEA开发工具中集成Git呢?1.下载Git客户端 Git客户端下载链接 下载好了Git客户端之后,开始安装2.检验是否安装成功 在桌面空白处点击鼠标右键,出现以下页面即表示Gi...原创 2020-01-11 18:13:17 · 441 阅读 · 0 评论 -
MarkDown字体颜色表
颜色名列表 MarkDown编辑器字体颜色表颜色名十六进制颜色值颜色AliceBlue#F0F8FFrgb(240, 248, 255)AntiqueWhite#FAEBD7rgb(250, 235, 215)Aqua#00FFFFrgb(0, 255, 255)Aquamarine#7FFFD4rgb(127, 255, 212)Azure#F0FFFFrgb(240, 255, 255)...原创 2020-01-07 11:05:40 · 489 阅读 · 0 评论 -
JVM(一)---基础概念
JVM概念 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代...原创 2020-01-06 18:16:54 · 408 阅读 · 0 评论 -
SpringCloud---(8)Zuul路由网关
1.什么是Zuul? Zuul存在于前端和后端之间,客户发起的所有请求都会经过Zuul进行路由和过滤路由: 用户发起访问请求的时候,Zuul负责将该请求转发到具体的服务实例上,从而实现所有的用户通过统一的入口进行资源访问。过滤: 可以对某些请求进行过滤,如:不允许通过某个网址访问到真实的项目资源。 项目中将Zuul注册到Eureka之后,就可以从Eureka上获取到注册...原创 2020-01-03 17:19:52 · 271 阅读 · 0 评论 -
SpringCloud---(7)Hystrix断路器
1.Hystrix是什么? 当用户调用服务A的时候,这个服务A可能还会与服务B进行交互,服务B可能还会与服务C进行交互,然后最终取得数据并返回,现在服务C因为某个原因无法正常使用了。那么该请求就会一直等待数据响应,直到请求超时。此时因为此请求堵塞了,那么后面其他用户的请求可能也就会进行排队阻塞……在高并发的场景下,这种情况很容易拖垮服务。 Hystrix可以很好的处理这种情况,假设服务C崩...原创 2020-01-03 14:22:58 · 239 阅读 · 0 评论 -
SpringCloud---(6)Feign调用服务
Feign是一个声明式的web服务客户端,它让微服务之间的调用如何Controller调用Service一样更加简洁。Spring Cloud集成Ribbon和Eureka以在使用Feign时提供负载均衡的http客户端。 调用微服务的两种方式:Robbin 通过微服务名字调用Feign 通过注解和接口进行服务调用1.使用Feign1)引入Feign依赖<depe...原创 2020-01-02 17:33:55 · 439 阅读 · 1 评论 -
SpringCloud---(5)Ribbon负载均衡
Ribbon是基于Netfix Ribbon实现的一套客户端负载平衡器。负载均衡 说到负载均衡,可能会想到我们的Nginx负载均衡,其常见的负载均衡策略:1.轮询(默认)2.指定权重3.ip_hash 根据ip分配4.最少连接负载均衡的作用就是将用户的访问请求有规律的分发到各个不同的服务上,避免出现某个服务器的压力过大,而某个服务器压力很小的情况。 之前的负载均衡我们一般...原创 2020-01-02 16:35:10 · 316 阅读 · 0 评论 -
SpringCloud---(4)Eureka与Zookeeper的区别
Eureka和Zookeeper最主要的区别来看就是他们关注的点不一样,所以满足的原则不一样。 著名的CAP原则提出:一个分布式系统中一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)很难三者兼顾,三个要素最多只能满足其中两个。Zookeeper(CP原则) Zookeeper使用的是CP原则,保证了一致性和容错...原创 2020-01-02 11:53:55 · 254 阅读 · 0 评论 -
Maven父工程(统一管理依赖)
之前一段时间,我和在其他公司工作的同行朋友聊天时无意间聊到项目依赖问题,发现很多公司(包括我们公司)都是有自己一个统一的父工程,而这个工程没有任何的逻辑代码,说起来只有一个pom.xml文件,而这个pom文件就是统一管理项目的依赖使用的。下面简单记录一下如何创建这样一个父工程来统一管理项目依赖。1.创建一个纯Maven项目 选择maven,然后直接Next,Next,Finish。...原创 2019-12-31 16:45:35 · 4764 阅读 · 0 评论