自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 华为推送907135000: arguments invalid

----华为的文档真TM的辣鸡,🐕shi一样。

2024-01-11 15:48:08 568

原创 springboot使用oshi监控应用系统

引入依赖 <dependency> <groupId>com.github.oshi</groupId> <artifactId>oshi-core</artifactId> <version>3.9.1</version> </dependency> <dependency> .

2021-11-04 15:48:56 793

原创 docker安装redis

拉取redis镜像docker pull redis创建外部挂载文件夹mkdir -p /root/docker/redis/datamkdir -p /root/docker/redis/conf在/root/docker/redis/conf目录下,新建redis.conf文件,并编辑如下内容# bind 127.0.0.1 protected-mode noappendonly yesrequirepass 123456创建redis容器并启动docker ru..

2021-08-18 18:08:34 121

原创 springboot参数中含有特殊字符报错

报错如下:解决:在springboot启动类添加如下方法:@Bean public ConfigurableServletWebServerFactory webServerFactory() { TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); factory.addConnectorCustomizers((TomcatConnectorCustomiz

2021-03-18 13:18:30 952

原创 mybatis自定义拦截器实现插入时使用分布式id作为主键id

1. 自定义mybatis拦截器插件@Intercepts({@Signature(type = Executor.class,method = "update",args = {MappedStatement.class,Object.class})})public class MyBatisInterceptorPlugin implements Interceptor { private static final Logger logger= LoggerFactory.getLogger(

2021-02-19 21:45:06 1111

原创 springboot整合mybatis

单数据源多数据源单数据源1. 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <g

2021-02-19 00:12:37 69

原创 雪花算法的原理及实现

1. 特点:a. 全局唯一性b. 递增性c. 高可用性d. 高性能性2. 原理一个 64 bit 的 long 型的数字,有四部分组成第一部分:1个bit,固定为0,若为1,则为负数第二部分:41个bit,时间戳第三部分:10个bit,前5个bit是机房 id,后5个bit是机器 id第四部分:一毫秒内同时生成的 id 的序号3. 实现public class SnowflakeIdWorker { /** * 开始时间截 (2015-01-01) *

2021-02-18 15:19:22 273

原创 springboot单元测试

springboot单元测试有两种,一种会启动容器,通过容器管理bean,一种则需要使用mock测试框架mock依赖的bean第一种,在测试类上添加注解@RunWith和@SpringBootTest@RunWith(SpringRunner.class)@SpringBootTest然后运行有@Test注解的方法第二种,使用mock框架,这里使用的是mockito添加依赖 <dependency> <groupId>org.mockit

2021-02-08 23:52:54 561

原创 springboot之监听器

springboot中监听器的使用自定义监听事件1. springboot中监听器的使用1.1 监听Servlet上下文对象, 可以用在初始化,加载本地缓存@Componentpublic class MyServletContextListener implements ApplicationListener<ContextRefreshedEvent> { @Override public void onApplicationEvent(ContextRefreshe

2021-02-08 16:42:51 514 1

原创 docker安装nginx,并配置反向代理、跨域、http升级https

docker安装nginx配置反向代理配置跨域http升级httpsdocker安装nginx拉取nginx镜像docker pull nginx查看镜像docker images,看是否存在nginx镜像创建nginx外部挂载文件, 映射nginx容器内部文件mkdir -p /mnt/nginx/{conf,html,logs};docker cp ef:/etc/nginx/nginx.conf /mnt/nginx/;创建nginx容器, 80是http默认端口,

2021-02-08 00:24:37 2049

原创 springboot之拦截器

  springboot拦截器有两种方式配置,推荐第一种,第二种官方不推荐使用,拦截器最常用的场景是做角色权限资源控制,接口请求日志打印。 1. 实现HandlerInterceptor 2. 继承HandlerInterceptorAdapter1. 实现HandlerInterceptor 1.1 创建拦截类, 实现HandlerInterceptorpublic class MyHandlerInterceptor implements HandlerInterceptor { @O

2021-02-07 23:15:03 1623

原创 使用springboot定时器实现windows任务提醒

为了防止忘记某件事,使用程序调用windows的任务提醒1. springboot定时器使用注解@Scheduled和@EnableScheduling@Scheduled:设置时间@EnableScheduling:开启定时器2. 调用windows任务提醒public void displayTray(String msg) throws AWTException { SystemTray tray = SystemTray.getSystemTray(); Ima

2021-02-04 14:34:26 359

原创 springboot整合七牛云实例

整合步骤引入依赖 <dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>7.3.0</version></dependency> 配置七牛云参数 qiniu.accessKey=XXXXXXXXXXXXXXXXXXXXXXXXXX.

2020-11-24 12:24:20 1019

原创 docker安装6.8.0版本的elasticsearch、kibana、head

首先要保证服务器上已经安装了docker1. 安装elasticsearch拉取镜像$ docker pull elasticsearch:6.8.0运行容器(内存不够用,设置小点)$ sysctl -w vm.max_map_count=262144$ sysctl -a|grep vm.max_map_count$ docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms256m -Xm

2020-09-09 04:15:27 769

原创 sql插入的数据时间与mysql数据保存时间相差8小时

现象:  执行insert的sql语句,打印的时间是2020-08-09 10:46:12,而到数据库查询,这条数据显示时间是2020-08-09 02:46:13,相差了8小时解决:  在jdbc url地址后加&serverTimezone=Asia/Shanghai,如spring.datasource.url=jdbc:mysql://localhost:3306/databasename?useSSL=false&serverTimezone=Asia/Shanghai

2020-08-09 11:01:54 568

原创 使用过滤器过滤请求参数中的敏感信息

上节已经介绍了过滤器的使用方法,现在我们来看下实际场景中,如何使用过滤器过滤请求的参数中的敏感信息,主要针对get、post两种请求方式过滤。1. get请求参数过滤get请求,可以从request中拿到请求参数,看参数中是否包含敏感信息,假设敏感信息是"傻瓜"HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest; boolean flag = true; String b

2020-06-14 00:14:47 1747

原创 springboot之使用过滤器

实现Filter接口,重写doFilter方法@WebFilter(urlPatterns ="/*")public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletR..

2020-06-13 21:58:10 609

原创 springboot项目参数校验及自定义校验注解

常用参数校验注解:@AssertFalse 所注解的元素必须是Boolean类型,且值为false@AssertTrue 所注解的元素必须是Boolean类型,且值为true@DecimalMax 所注解的元素必须是数字,且值小于等于给定的值@DecimalMin 所注解的元素必须是数字,且值大于等于给定的值@Digits 所注解的元素必须是数字,且值必须是指定的位数@Future 所注解的元素必须是将来某个日期@Max 所注解的元素必须是数字,且值小于等于给定的值@Min 所注解的元素必

2020-06-12 23:24:37 2546

原创 springboot返回结果封装和异常处理

返回结果封装新建封装类public class ResultResponse<T> implements Serializable { private String code; private String message; private T date; public String getCode() { return code; } public void setCode(String code) { ..

2020-06-12 23:21:41 790

原创 springboot API管理

API管理我给大家介绍一个API管理框架knife4j,是swagger的升级版,在swagger的基础上新增了一些功能用法:加入依赖knife4j-spring-boot-starter<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <!--在引

2020-06-12 23:19:21 1143

原创 springboot热部署的两种方式

热部署使用devtools插件添加依赖spring-boot-devtools<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</opt

2020-06-12 23:15:11 177

原创 springboot搭建多模块项目

springboot搭建多模块项目先创建一个maven项目demo-parent,删除src文件夹然后创建4个module(demo-base,demo-dao,demo-service,demo-web),其中demo-web是springboot项目,其他三个是maven项目,demo-web依赖demo-service,demo-service依赖demo-dao,demo-dao依赖demo-base修改5个pom.xml文件demo-parent的pom.xml文件声明父类项目

2020-06-12 23:09:41 323

原创 list操作小技巧

逗号分隔的字符串转换为ListList转换为逗号分隔的字符串List对象排序List对象去重List对象分组,组内求和1. 逗号分隔的字符串转换为List感谢大佬的分享字符串以逗号分隔的转换为List方法split + Arrays.asListString str ="a,b,c";List<String> split= Arrays.asList(str.split(","));Guava SplitterStringString str ="a, b, .

2020-06-01 14:37:46 155

原创 工具篇:idea新建类和方法时,自动生成用户时间描述信息和参数信息

1. 新建class类,自动生成用户时间描述信息2. 新建方法,自动生成用户时间描述参数信息1. 新建class类,自动生成用户时间描述信息打开File -> Settings -> Editor -> File and Code Templates,在File Header中添加如下信息,然后点击OK即可/** * Author: ${USER} * Date: ${DATE} ${TIME} * Describe: */2. 新建方法,自动生成用户时间描述参数信息

2020-06-01 02:12:37 985

原创 工具篇:如何截图并上传图片

  之前用markdown写文章时,碰到使用图片,总是先截图保存到本地,再从本地上传到图床,但这种方式感觉有些繁琐,下面介绍一种方式截图并上传图片。下载greenshotgreenshot,密码: 1749七牛云开通对象存储服务greenshot配置七牛云Access Key和Secret Key对应七牛云的个人中心->密钥管理的AK,SKScope是对象存储的空间名称Default Domain是图片访问的默认地址,在对象存储的空间管理/文件管理中的外链域名4.截图后选择上传图

2020-05-31 00:33:11 1637

原创 linux alias命令用法

  alias给命令设置别名,我们只需要执行别名,相当于执行相应的命令,下面我们来看下具体如何使用。  现在我想进入项目的日志目录,我需要执行命令cd /mydata/web/log/,如果我给命令设置别名alias mwl=‘cd /mydata/web/log/’,我只要执行mwl,即可进入对应的目录下。  * 设置别名:alias name=‘命令语句’  * 删除别名:unalias...

2020-02-23 13:03:08 177

原创 docker安装mysql完整流程

首先查看命令docker images查看本地是否已经安装了mysql,若没有,则从仓库拉取mysql镜像docker pull mysql:5.7.19启动容器sudo docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7.19也可以挂载外部文件sudo docker...

2020-02-02 21:05:27 157

原创 java8新特性

java8特性接口的默认方法与静态方法函数式接口lambda表达式方法引用streamOptional时间类1. 接口的默认方法与静态方法​ java8之前接口只能有方法声明,不能有方法实现,且子类必须实现父类的接口,java8中接口可以有默认方法与静态方法,子类默认继承父类的默认方法,不能继承父类的静态方法,当子类实现多个接口,且多个接口有相同方法名的默认方法时,子类需要自...

2020-01-18 23:15:50 291

原创 一次线上翻车暴露了我工作方式的缺点

  最近给一个老项目增加一个不是很复杂的功能,原来就有这个功能,我需要改写这个功能,简单的来说就是写一个配置,保存到数据库和es搜索引擎,然后使用的时候再到es搜索引擎里去查,结果更到线上翻车了。  为什么会翻车呢,我把原因分为外部原因和个人原因外部原因:  1. 环境不支持,测试这个功能需要的数据是由其他组的人提供,我们从一个渠道进来时携带的数据应该与其他组提供的数据有对应关系,测试环境...

2019-12-21 01:47:22 159

原创 springboot使用thyemleaf+layui

springboot:thyemleaf+layui使用1. 添加thyemleaf依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId><...

2019-12-15 23:00:56 1354

原创 springboot配置日志框架

springboot配置日志框架logbacklog4j2logback​  springboot默认集成了logback日志框架,如果我们要使用logback不用添加maven依赖,我们从spring-boot-starter-web->spring-boot-starter->spring-boot-starter-logging->logback-classic依次...

2019-12-15 23:00:43 163

原创 springboot项目创建的三种方式

springboot项目创建的三种方式Spring Initializr在线创建使用Intell Idea工具创建通过maven创建Spring Initializr在线创建浏览器打开地址<https://start.spring.io/>,进入创建页面,点击Generate即可创建[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-...

2019-12-15 23:00:29 181

原创 对restful API的理解

​ restful是一种软件设计风格,一种思想,它不是一种标准规定,不使用restful风格API,我们也能正常开发工作,它只是一种大家比较提倡的设计规范。​ 我们平时设计接口时,常根据自己所做的功能为接口起名称,比如要写一个查询用户列表的接口,我们可能会起/queryUser的接口名,有的人会起selectUser、userList的接口名,我们把我们要做的动作通过单词来表达,可能同一个功...

2019-12-15 22:59:55 149

原创 docker容器命令

创建容器新建容器docker create [OPTION] NAME[:TAG]启动容器docker start [CONTAINER]查看容器docker ps新建并启动容器docker run [CONTAINER]守护态运行docker run -d [CONTAINER]停止容器暂停容器docker pause [CONTAINER]恢复暂停的容器docker ...

2019-11-20 21:55:15 184

原创 dcoker镜像使用

1. 获取镜像命令格式:docker pull NAME[:TAG]NAME:仓库中的镜像名TAG:镜像标签(应用版本)如果不显式指定TAG,默认选择latest标签,最新版本的镜像镜像的默认注册服务器为官方docker hub,地址是registry.hub.docker.com,若要从非官方仓库下载镜像,须指定完整的仓库地址配置镜像加速器在/etc/docker/daem...

2019-10-27 23:39:33 128

原创 docker两种安装方式

docker目前支持centos7及以后的版本,系统要求64位操作系统,内核版本至少为3.10查看内核版本命令uname -r[root@VM_16_11_centos ~]# uname -r3.10.0-957.21.3.el7.x86_641. 手动安装安装需要的软件包:$ sudo yum update$ sudo yum install -y yum-utils devi...

2019-10-27 23:34:31 108

原创 初识docker

1. 什么是docker​ docker是基于go语言实现的开源容器项目,诞生于2013年,它采用容器虚拟化技术,对应用的开发,测试,部署,运行生命周期进行管理,达到应用组件级别的"一次封装,到处运行".2. docker的三大核心概念镜像类似于虚拟机镜像,可以理解为一个只读的模板,包含一个基础的操作系统环境容器类似于一个轻量级的沙箱,用于运行和隔离应用仓库类似于代码仓...

2019-10-26 00:17:24 93

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除