- 博客(119)
- 收藏
- 关注
原创 Oracle 数据源连接报 “PoolInitializationException: Failed to initialize pool: Timer already cancelled“
Springboot项目动态注册数据源,当注册数据源为Oracle的时候,初始化HikariDataSource时,报。第一个注册驱动,以至于该模式可以获取所有jdbc url,在委托给真实的驱动器。并没有提供注册顺序,所以该版本便将所有的驱动器先取消注册,然后注册。在该版本中,使用的contrib-java-jdbc版本为。由于项目使用jaeger作为链路追踪,且采用的版本为。,在然后将之前取消注册的驱动器,在注册上去。项目使用jaeger 用来链路追踪。在该jaeger版本中,使用的。
2023-07-06 10:07:45
1129
原创 Mysql 存储过程之封装查询结果
文章概要本文主要介绍,在使用存储过程中,如何将单条或多条查询结果,赋值给变量或对其进行遍历操作。单条查询结果处理背景有一张用户表,包含id,name,age,gender四个属性,通过接收id内容,返回该id对应的用户以及年龄 create table `member` ( `id` bigint not null auto_increment, `name` varchar(30) not null, `age` int not null, `gende
2022-03-22 18:49:38
1538
原创 Spring AOP 在注解上使用SPEL表达式注入对象
场景描述在平时开发中,我们经常通过定义一些注解,进行轻量级开发。今天主要研究的内容是关于如何在注解上通过spel表达式注入对象,以此调用注入对象的具体业务处理逻辑,然后在通过对表达式的解析,进而获取该业务逻辑处理的结果,类似于Spring Security中的@PreAuthorize, @PreAuthorize, @PostAuthorize等注解,本次场景案例以模仿@PreAuthorize注解进行分析。具体案例定义@SpelPreAuthorize注解,对标@PreAuthorize@Tar
2021-12-02 09:59:37
1207
原创 红黑树 - 插入篇
红黑树定义根节点是黑色的节点要么为红色,要么为黑色任意节点到其子孙节点,所经过路径上的包含相同数量的黑色节点红色节点,其子节点不能为红色所有叶子节点皆为黑色,此叶子节点指的是为空(NIL或NULL)的叶子节点,通常省略不画。红黑树染色,旋转规则除第一个节点(作为初始根)颜色为黑色,所有新插入节点颜色都为红色。1 若插入节点的父节点为黑色,则直接插入2 若插入节点的父节点为红色2.1 若插入节点的叔叔节点为红色,则进行染色,父节点与叔节点转为黑色,祖父节
2021-11-28 12:02:37
673
原创 Java Protected关键字你真的理解对了嘛
访问权限修饰符比较privatedefaultprotectedpublic本类√√√√同包类×√√√子类××√√所有××××如图表所示,private紧针对成员内部使用,public可被所有工作空间的类访问。default的权限比private要稍大一些,其更倾向于提供给同包类的成员所使用。protected相比与default访问权限又更大一点,其可以让自己的子类(不同包)调用。在平时开发过程中,对privated与p
2021-11-22 11:23:44
524
原创 Zipkin + Sleuth搭建,Docker拉取Zipkin Server
工具jdk8docker(拉取Zipkin Server)依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId></dependency><dependency> <groupId>org.spr
2021-10-30 22:32:31
246
原创 docker拉取常用开发工具
docker hub地址hub地址mysql拉取镜像docker pull mysql:5.7创建本地挂载目录mkdir -p /home/volume/mysql/data /home/volume/mysql/logs /home/volume/mysql/conf在mysql中的cnf文件夹中创建*.cnf文件touch my.cnf创建容器docker run -p 3306:3306 --name mysqlA -v /home/mysql/conf:/etc/mysql
2021-10-30 22:28:05
7780
原创 Element UI 使用表单校验,正确输入后,仍然有提示信息
问题重现vue 版本: 2.6element-ui版本: 2.14.1今天使用elementUI 进行表单校验,主要通过:rules属性设置限制条件,在el-from-item上设置prop属性,进行校验,具体语法请参考element-ui 表单校验。部分代码// 表单<el-form :model="loginForm" :rules="loginRules" ref="loginForm"> <el-form-item prop="userName"&g
2021-01-03 18:32:45
12810
6
原创 SpringBoot整合Swagger
一、Swagger是什么swagger的诞生的一个背景是,前后端开发人员的关于API文档交流的一个产物。前端人员要集成相关功能,则必须要有相关API文档。当然API文档可以自己手写维护,但是存在以下几个问题文档书写,增加工作量。需求不是一定的,往往会出现些许调整。文档未必能及时调整,影响集成。swagger拥有美观的界面所以,swagger就很有必要在项目中使用。我们可以通过注解的形式,编写API文档。二、SpringBoot 整合 Swaggermaven依赖<dependen
2020-12-16 20:53:46
165
原创 Docker常用命令
镜像查看本地镜像docker images 搜索镜像docker search 镜像关键词拉取镜像docker pull name[:tag]docker pull mysqldocker pull mysql:5.7删除镜像docker rmi name容器创建容器docker run -d -p 8888:8080 --name tomcatA tomcat-d 后台运行-p 映射端口, 本地端口:容器端口,容器端口8080映射到宿主机8888端口上–na
2020-09-19 17:34:28
210
原创 SpringBoot整合mail,发送邮件
导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> <version>2.3.3.RELEASE</version></dependency>获取邮箱授权码设置服务邮箱,以QQ邮箱为例进入QQ邮箱,选择设置下拉到下图所示位
2020-09-05 16:27:59
422
原创 Nacos集群构建(windos版)
环境配置下载nacosNacos下载地址JDK 1.8+3.2.x+下载内容及其配置配置MySQL数据库相关内容单机版nacos具有内置的数据库derby。若配置为集群版nacos,则应使用公共数据库,此次采用mysql数据库作为集群版nacos的数据存储。目前,nacos也仅支持mysql数据库打开下载好的nacos,进入conf目录,进入nacos-mysql.sql文件中,copy所有内容,在数据库中执行其sql语句打开下载好的nacos,进入conf目录,进入applicat
2020-07-26 20:46:55
1045
原创 Maven中关键词的含义
optional关键词<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency>optional表示是否设置依赖传递optional是true表示不传递依赖不设置optional或者optio..
2020-07-26 20:22:32
509
原创 前端-如何将网页保存为图片
问题重现前台生成一张复杂的海报,海报中包含外链图片资源问题难点网页由多个内容组成,前端不好将整个网页保存为图片。当然,可以使用canvas进行绘图(canvas语法参考)网页中存在外链图片资源解决方案概述(笔者以Vue为例)主要使用html2canvas,将页面转成canvas,从而转成图片。但使用html2canvas无法对外链图片资源进行良好的处理,当然网上有很多跨域的解决方...
2020-05-07 12:09:25
2159
原创 使用elementui,upload组件,既要上传文件,又要提交表单
概述:之前遇到过一种场景,就是既要上传Excel表格,又要提交表单内容到后台,我使用的是elementui中el-upload组件,搜了很多资料,发现都不太好用。后来看官方文档发现,人家提供了这个接口给我们使用。适用场所:既要提交文件,又要提交表单。且是同一个api处理el-upload代码:<el-upload class="upload-demo" ref=...
2020-03-29 19:41:04
5451
原创 Python语法细节知识点(一)
在Linux或Mac平台直接运行.py文件,像window系统中的.exe文件一样,window系统会自动忽略这句话#!/usr/bin/env python3告诉Python解释器,按照UTF-8编码读取源代码# -*- coding: utf-8 -*-Python允许用 r"" 表示 " 内部的字符串默认不转义str = r"abc/t/n"print(str)...
2020-03-25 20:32:38
267
原创 使用docker拉取的mysql,时间不正确问题
原因: docker拉取的mysql,时区为UTC,比北京时间慢8小时查看mysql时区与时间docker exec <容器名称/容器Id> date -R 解决方案: 修改mysql.cnf文件,设置“ default-time-zone = ‘+08:00’ ”查看mysql的挂载目录docker inspect -f "{{.Mounts}}" <容器名称/容器...
2020-03-17 15:43:56
955
原创 docker 查看本地挂载目录与端口
docker 查看正在运行的容器docker psdocker ps -a # 列出所有容器docker查看本地挂载目录docker inspect -f "{{.Mounts}}" 容器名称/容器Iddocker 查看本地端口映射docker port 容器名称/容器Id...
2020-03-17 09:22:24
2406
原创 git上传分支流程
git上传分支流程git stash 保存工作空间内容git pull origin branch 拉取分支代码git stash pop 让工作空间内容出栈git add . 将工作区内容添加到缓存区中git commit -m ‘***’ 提交缓存区内容git push origin branch 推送分支end...
2019-11-26 08:47:12
377
原创 SpringBoot常用注解
【1】@Configuration@Configuration放置在类上,表明该类是一个配置类,在springboot容器初始化的时候,会加载该配置类【2】@ComponentScan@ComponentScan("cn.czf.controller")组件扫描,和配置类(@Configuration修饰的类)放在一起,表示加载该配置类的时候,会同样去扫描该包下的类。【3】...
2019-11-05 23:09:21
191
原创 Springboot整合Mybatis
【1】在Pom文件中添加Mybatis依赖<!-- 引入jdbc相关包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactI...
2019-10-26 15:59:40
184
原创 将使用Springboot发布web项目,并将之发布到Tomcat容器中
【1】启动类上配置@ServletComponentScan注解,以及继承SpringBootServletInitializer类@SpringBootApplication@ServletComponentScanpublic class UserOrderStarter extends SpringBootServletInitializer{ public static ...
2019-10-26 15:54:52
569
原创 Springboot @SpringBootApplication注解详解
一、@SpringBootApplication放置在Springboot启动类上,表明该类是开启Springboot容器的入口,它是一个复合注解。里面包含了包扫描,自动注入,配置注入的功能,下面就给大家介绍里面的注解@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documented@Inherite...
2019-10-26 15:33:48
12261
原创 Nginx之动静分离
一、动静分离原因以Tomcat服务器为例,Tomcat可以用来解析jsp页面,处理Servlet,但是Tomcat处理静态资源的能力并不是很强。如果可以将动态资源与静态资源相分离,这样就可以大大提高服务器的性能。Nginx可以帮我们处理静态资源,Tomcat可以用来处理动态资源,这样就可以大大提高效率,优化性能。二、动静分离实现首先,我们应了解路径匹配规则 = ...
2019-10-24 19:38:14
417
原创 Nginx之负载均衡(轮询、hash、最小连接数、权重)
一、负载均衡就是当数据量过大的时候,代理服务器充分当作一个调度者的身份,来将这些请求合理的分配到后端各个服务器上,保证服务器的性能能够充分发挥。在Nginx有常用的几种实现负载均衡的方式,下面就给大家介绍下。二、Nginx路径匹配规则在介绍负载均衡之前,先给大家介绍Nginx常用的几种路径匹配规则。 = =/aaa/1.jpg 路径...
2019-10-24 16:57:54
9124
1
原创 Nginx-反向代理
一、Nginx诞生环境 单台tomcat在理想情况下可支持的最大并发数量在200~500之间,如果大于这个数量可能会造成响应缓慢甚至宕机。解决方案是通过多台服务器分摊并发压力,这不仅需要有多态tomcat服务器,这就需要有一台服务器专门用来分配压力,我们称之为反向代理服务器程。 Nginx是一款优秀的反向代理服务器程序,能够为若干台服务器提供反向代理服务,一方面为客户...
2019-10-24 00:01:11
201
原创 Linux gizp、bzip2、tar详解
一、压缩与打包压缩是指通过某些算法,将文件尺寸进行相应的缩小,同时不损失文件的内容。gzip、bzip2就是Linux用来压缩的命令。打包是指将多个文件(或目录)合并成一个文件,方便传递或部署。tar就是Linux用来打包的命令。在Linux系统中,文件的后缀名不重要,但是针对于压缩文件的后缀名是必须的,因为可以让其他的程序员根据文件的后缀名使用对应的方法进行解压。二、gizp压缩...
2019-10-22 10:36:30
722
原创 Mybatis报错:Available parameters are [arg1, arg0, param1, param2]
报错案例:接口:void updateUserInfo(int money, String user_id);映射文件:<update id="updateUserInfo"> update t_user set points = points + #{money}where user_id = #{user_id} </upda...
2019-10-22 10:34:53
24164
3
原创 Linux vim编辑器常用指令
一般模式:移动:h或←光标左移一个字符。如果是20h,表示左移20个字符。j或→光标下移一个字符 同上k或↑光标上移一个字符 同上l或↓光标右移一个字符 同上[Ctrl]+[f]屏幕向下移动一页 Page Down!![Ctrl]+[b]屏幕向上移动一页 Page Up !!0或[Home]移动到此行最前面字符处!!$或[End]移到光标所在行的...
2019-10-19 20:33:01
287
原创 Linux查看进程与结束进程
一、查询线程常用操作:ps -aux a 关联的所有 process,通常与x一起使用,列出完整信息。 x 后台进程 u 有效使用者的相关联的进程 pstree -up 以树状结构显示 u 列出每个process的所属...
2019-10-18 19:45:32
415
原创 Linux设置SSH免密登录
一、免密登录的原理通常我们使用 ssh 用户名@ip地址 进行两台虚拟机的互联,但是每次输入命令之后,还要输入密码,所以就会显得很麻烦,那么如何实现两台虚拟机之间的免密互联呢?先了解两条命令:ssh-keygen:创建公钥和密钥,会在 /root/.ssh 下面,生成id_rsa(私钥)与 id_rsa.pub(公钥)两个文件。ssh-copy-id ip:将公钥发送给指定虚拟机。...
2019-10-17 17:22:30
295
原创 Linux常用命令之用户、组、权限命令(二)
目录一、用户常用操作二、组常用操作三、权限操作(1)逻辑权限(2)物理权限四、sudo操作一、用户常用操作【1】添加用户-d 目录 指定用户主目录,如果目录不存在,则同时使用-m选项,可以创建主目录。-g 用户组 指定用户所属的主用户组。-G 用户组,用户组 指定用户所属的附加组。-s Shell文件 指定用户的登录Shell。有一个特...
2019-10-17 15:29:29
297
原创 Mybatis重点知识点(补充)
一、开启别名操作我们在配置文件中,如果需要返回/接收bean,则需要书写该bean的全路径名称。这样操作比较麻烦,Mybatis为我们提供了一项别名操作,可以大大减少代码操作在sqlMapperConfig.xml配置文件中,书写typeAliases和它的子标签typeAlias。其中type表示需要配置的bean的全路径,alias表示该bean的别名。 <typ...
2019-10-13 16:50:27
226
原创 Mybatis缓存机制
一、缓存机制缓存机制可以减轻数据库的压力,原理是在第一查询时,将查询结果缓存起来,之后再查询同样的sql,不是真的去查询数据库,而是直接返回缓存中的结果。缓存可以降低数据库的压力,但同时可能无法得到最新的结果数据。在Mybatis框架中,为我们设提供了两种缓存机制。一个是一级缓存,另一个是二级缓存。一级缓存是默认开启的。二、一级缓存Mybatis的一级缓存,只在一个事务中有效,即同一个...
2019-10-13 16:31:01
228
原创 整合SSM三大框架(jar包配置)
一、导入jar包jar包地址:链接:https://pan.baidu.com/s/1EzkZqRBQ3es66UVu3bkY7A 提取码:kv1h二、配置Web.xml【1】配置前端控制器<servlet> <servlet-name>springmvc</servlet-name> <servlet-class&g...
2019-10-13 16:11:33
566
原创 Mybatis表关系操作(一对一、一对多、多对多)
一、resultMap关键字Mybatis负责的是Dao层之间的交互,我们都知道表与表之间具有三种关系,一对一,一对多,多对多。我们要想让结果封装到bean中,就要通过resultMap关键字进行映射。<resultMap type="" id=""></resultMap>type表示bean的类型。id表示该resultMap的名称。在resul...
2019-10-13 14:44:11
2459
原创 Linux常用目录命令集合(一)
【1】切换目录cd命令.. 表示上级(父级)目录 cd ../~ 表示用户的家目录,如果在~跟用户名,就表示要去到该用户的家目录。 cd ~. 表示当前目录 cd ./"-" 表示与上次所在目录进行切换,返回上一步。cd -【2】用于显示目录/文件的信息ls命令-a:显示所有的文件夹内容(包括隐藏)-l:用于显示文件/夹的详细信息-h:与-...
2019-10-13 09:30:30
702
原创 Mybatis在映射文件中常用标签
【1】if标签通过if标签我们可以动态的传入参数,以帮助我们适应不同的情景下的sql查询。案例:select * from user <where> <if test="id != 0"> id = #{id}</if> <if test="username != null"&g...
2019-10-10 21:02:28
1630
原创 Cookie和Session
一、会话技术http协议:http协议是一个无状态协议,所谓无状态协议,是指上一次请求和当前请求之间没有任何的联系,所以无法进行数据共享。会话技术:为了能够让多次请求响应之间可以共享数据,需要提供一门新的技术,这么技术就是会话技术。所谓会话技术,就是为了实现某一个功能,在浏览器和服务器建立连接之后,发送多次请求和响应之间,在这些请求和响应中共享数据,实现功能目的。直到浏览器关闭之前,发...
2019-10-10 10:41:57
207
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人