自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LeoSong121的博客

知识来源于分享。

  • 博客(108)
  • 收藏
  • 关注

原创 SpringBoot 设置response header(全局设置和单独controller设置)

如果我们要在单个请求响应response增加header,可以使用httpServletResponse或者ResponseEntityobjects.UsingHttpServletResponseWe simply have to add theHttpServletResponseobject to our REST endpoint as an argument, th...

2019-10-10 17:38:10 40437 1

原创 [Maven] 打包编译本地Jar包报错的几种解决办法

一般地,maven pom引入本地jar包的几种方式有:(请根据优缺点自行选择)

2024-07-18 14:54:28 924

原创 [SQL] 按月累加逐级统计数据

3月份:1月 + 2月 + 3月 = 100 + 100 + 200 = 400元;2月份:1月 + 2月 = 100 + 100 = 200元;喜欢的请看官一键三连哦。1月份:1月100元;

2022-11-14 18:40:06 6476 1

原创 [DB] Mybatis-Plus 代码生成器AutoGenerator生成实体类字段顺序和DB表字段顺序不符

Mybatis-Plus提供的代码生成器AutoGenerator非常方便开发,但最近在使用过程中出现问题(因为有些场景是需要严格保证字段顺序的时候就很麻烦了):生成和不符,我以Sql Server数据库举例说明。

2022-11-08 15:29:15 949

原创 [Dokcer] 给已有镜像打补丁(更新已有镜像)

开发中,有时候不想通过Dockerfile重新构建镜像(如:构建所需文件暂时找不到;又或者制造开发基础镜像减少打包时间),想直接通过修改原有镜像来完成更新;这时候给镜像打补丁就很重要了。例如:我想更新init.sql脚本到基础镜像my-app:latest这里我通过docker cp命令来操作:这样,当下次运行myapp:latest镜像的时候,你会发现里边init.sql已经更改;docker run --name myapp -d my-app:latestdocker exec -it myapp /

2022-06-02 15:53:33 1523

原创 [解决] MySQLNonTransientConnectionException: Too maany connections

报错信息项目中有时候在启动springboot + mysql项目时会报错,报错信息:MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"根本原因:出现这问题的根本原因:连接数超过了mysql的最大连接数max_connections,mysql默认max_connections=1

2022-05-12 14:35:56 3767

原创 [Docker] Check正在运行容器总数

查看正在运行容器的数量:How to check how many containers are running currently.命令:docker ps -q | wc -l解释:docker ps -q: -q :静默模式,只显示容器编号。 linux wc 命令用于计算字数:-c或--bytes或--chars 只显示Bytes数。 -l或--lines 显示行数。 -w或--words 只显示字数。 --help 在线帮助。 --ve..

2022-03-11 10:24:46 2357

原创 【笔记】项目工作中总结(三)

HttpClient设置Protocol版本SSLContextBuilder.setProtocol("TLSv1.2")FileOperateFile 转 byte[]// 方法一 String excelFile = "/home/demo/db_table.xlsx"; try (ByteArrayOutputStream bos = new ByteArrayOutputStream(); FileInputStream

2022-03-03 14:20:27 1170

原创 [笔记] JPA使用小结

目录JPA查询方式JPA传入参数null和""区别JPA Specification关联查询使用函数查询使用likeJPA createNativeQueryJPA SqlResultSetMappingJava Plain JDBC数据库操作实例多数据源实体到数据库命名自动映射失效配置多数据源@PersistenceContext VS@Autowired多数据源开启指定事务JPA 使用AbstractBaseEntity并设置修改时间修改人等自动填充.

2022-03-03 13:46:14 1630

原创 [Docker] 如何在容器Container中运行docker命令command

How To Run Docker in DockerHow To Run Docker within DockerDocker in Docker解决办法docker run --name springboot-test -d -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock-v /usr/bin/docker:/usr/bin/docker --privileged=true leotest/springboot-te.

2021-12-29 19:43:49 842

原创 Spring- 上传文件 MultipartFile.transferTo() 报错 FileNotFoundException

上传文件时,使用MultipartFile.transferTo()将文件保存到本地路径:报错:java.io.IOException: java.io.FileNotFoundException: C:\Users\XXXXX\AppData\Local\Temp\tomcat.8350081478984499756.8080\work\Tomcat\localhost\ROOT\app\file\xxxx.xlsx (系统找不到指定的路径。) @Override publ

2021-12-17 18:37:49 6911 1

原创 SQL 嵌套子查询|连接查询|将子查询结果作为表与其他表联接查询|Nested Query|Subquery

话不多少上货:角色表:ums_role:id, name, description, level, status, sort_no查询角色level大于2000,且按照角色级别分组后,取每个分组的一个角色名并展示:(当然,这里的分组还有可能是按照创建时间等需要分组展示)SELECT t1.id, t1.name FROM ums_role t1 INNER JOIN ( SELECT MIN ( id ) AS id, level FROM ums_role WHERE 1

2021-08-25 17:11:57 663

原创 【笔记】优雅且高效的技术释义

我见过的最好的关于并行和并发解释:Erlang 之父 Joe Armstrong 用一张5岁小孩都能看懂的图解释了并发与并行的区别并发是两个队列交替使用一台咖啡机,并行是两个队列同时使用两台咖啡机,如果串行,一个队列使用一台咖啡机,那么哪怕前面那个人便秘了去厕所呆半天,后面的人也只能死等着他回来才能去接咖啡,这效率无疑是最低的。文章持续更新~...

2021-06-30 11:30:08 169

原创 网页视频下载方法汇总

blob:https://...形式的video1.浏览器切换到手机模式,重新查看媒体元素,即可正常看到媒体地址m3u8媒体分片形式有些情况是需要查看m3u8这样的媒体分片格式下载:(也是现在媒体比较多的方式 )找到m3u8地址,使用m3u8下载工具,如M3U8 Downloader进行下载。一般媒体形式一般的这种媒体,直接查看video src,直接打开这种地址即可下载;...

2021-05-21 21:33:32 1111

原创 Navicat Premium 15连接sqlserver出现IM002:未发现数据源名称且未指定驱动

问题描述:IM002:未发现数据源名称且未指定驱动程序解决办法:找到Navicat Premium 15安装目录,找到msodbcsql_64.msi文件,双击安装,再次打开Navivat即可:

2021-05-06 18:36:15 5440 1

原创 【笔记】Jenkins- 解决 “Error 403 No valid crumb was included in the request“

目录问题解决办法(亲测)问题HTTP ERROR 403 No valid crumb was included in the request解决办法(亲测)Dashboard->Configure Global Security->CSRF Protection ->Enable proxy compatibility配置完成后,刷新一下页面就搞定。...

2021-04-29 14:53:04 6074 1

原创 【笔记】k8s常用操作记录

获取node节点kubectl get nodes或:kubectl get nodes -n mytest-n: 命名空间,以下的命名基本都可以指定执行的命名空间获取servicekubectl get svc获取podkubectl get pods部署: apply yamlkubectl apply -f azure-vote.yamlapply命令提供了比patch,edit等更严格的更新resource的方式。通过apply,用户可以将re

2021-04-23 17:40:37 739

原创 【笔记】浅谈OAuth2 accessToken和OIDC idToken的理解和使用场景

前言OAuth2官网:https://oauth.net/2/OIDC:Open ID Connect官网:http://openid.net/connect/What is OpenID Connect?OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User bas

2021-04-02 17:21:20 13445 13

原创 Springboot yml配置文件处理特殊字符

当我们使用yml配置文件时,有时候需要配置一些特殊字符会有问题,如:解决办法,增加单引号引入需要配置的内容:问题解决。

2021-03-31 18:55:35 3428

原创 Nginx- 配置https证书方式访问

前言因为在做oauth2授权登录的时候,第三方授权服务器配置的回调地址需要使用https的方式,故总结一下如何通过nginx来完成自己生成证书并配置https访问;步骤原理通过OpenSSL工具生成证书; 将生成的证书配置在nginx;通过OpenSSL工具生成证书创建私钥$ openssl genrsa -des3 -out server.key 2048# server文件名,可根据需要命名根据提示输入密码注意,centos版本如果是CentOS Linu.

2021-03-31 14:47:31 3854 2

原创 【笔记】关于一些项目网络优化记录

背景由于做的项目需要对接国外的API地址,而自己的服务代码是部署在国内的(上海)azure云环境中,所以从上海的服务器直接访问国外的服务器,这样的方式不仅访问延时大影响体验(有时候20s+),而且丢包概率也是很大的。测试丢包命令(测试100次)tcmping your_domain -n 100解决办法通过香港(或者azure global等国外的跳板apim)的APIM跳板访问的方式解决了问题。(当然我们也想过使用专线,但是专线维护和成本等都是很大的,所以放弃了这种方案;).

2021-01-22 17:28:21 183

原创 【笔记】项目工作中总结(二)

微服务项目设计:

2021-01-08 18:28:48 639 2

原创 SrpingCloud @FeignClient注解参数含义

value / name指定服务名称,表示你要消费哪个服务的接口path接口统一前缀url手动指定http调用地址primary多实现时指定优先级configuration自定义feign配置类,覆盖Feign的默认配置fallback / fallbackFactory降级统一处理...

2020-12-29 16:16:42 874 1

原创 SpringBoot 如何优雅处理- 自定义restful 404 Error

背景相信大家使用springboot开发的小伙伴,对下面两张截图都不陌生:但大多数解决自定义404 Not Found- application/json类型的时候,都是通过定义class HttpErrorHandler implements ErrorController,然后在application.properties 中添加两个配置:spring.mvc.throw-exception-if-no-handler-found=truespring.resources.add

2020-12-25 18:36:22 1498

原创 Docker run -v 和VOLUME区别

docker run命令的-v标识创建的挂载点只能对创建的容器有效。 通过dockerfile的 VOLUME 指令可以在镜像中创建挂载点,这样只要通过该镜像创建的容器都有了挂载点。 还有一个区别是,通过VOLUME 指令创建的挂载点,无法指定主机上对应的目录,是自动生成的。VOLUME 默认会写到/var/lib/docker/volumes中 相同点是,两种方式挂载的目录,都可以在容器修改文件同步到宿主机,也可以从宿主机修改文件同步到容器我们通过docker inspect 查看通过该...

2020-12-15 18:08:08 1824

原创 【笔记】【踩坑】Docker + Nginx + Vue部署前端项目和跨域CORS解决

1. 前言由于项目使用的前后端分离结构,采用nginx作为服务器代理前端解决跨域问题。阅读本文之前,需要有了解过Docker、Vue、Nginx、CORS内容。文章之前,有必要介绍一下CORS:跨域资源共享(Cross-origin resource sharing)什么叫同源,必须同时满足以下三点:协议相同 域名相同 端口相同2. 部署2.1 使用Vue生成前端文件npm installnpm run build:dev注意:这里前端配置访问后端的BASE

2020-12-15 11:28:56 7992 7

原创 【笔记】Linux- 开发常用命令汇总

后台启动jar包nohup java -jar xxx.jar &查询端口号占用进程netstat -tunpl |grep 端口号根据名字查找文件find / -name mssql

2020-12-02 19:38:31 188

原创 Docker- 常用命令教程&安装mysql

目录Linux安装DockerDocker常用命令项目开发常用命令汇总:容器镜像Docker run 命令Docker 安装mysql配置Docker国内镜像Docker 包括三个基本概念:镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 (<仓库名>:<标签>)就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。 容器(Container

2020-12-02 19:32:47 870

原创 Jenkins 执行Docker build错误:Got permission denied while trying to connect to the Docker daemon...

背景最近使用Jenkins + Docker做自动化部署,由于安全原因没有使用mvn + docker plugin生成并推送镜像(这种方式会暴露2375端口漏洞,但可以自己使用证书解决),我采用的是在Jenkins执行shell脚本:docker build -t freeshop/freeshop-sms .发现报错:+ docker build -t xxx/xxx-user .Got permission denied while trying to connect to th

2020-12-02 15:17:09 4344 4

原创 Linux- 从0编写Docker镜像自动执行脚本.sh

前言最近在使用Jenkins + Docker做自动化构建的时候,发现有些需要在服务器上执行一些必不可少的Linux命令,而这些命令都是些重复的手工操作。故而想着通过脚本.sh文件来替代这些manual操作。在之前的工作中很少写sh脚本,所以将整理的在这里记录下来,一是好记性不如烂笔头,以防自己过几天就忘了,二也是希望可以帮到和我有同样需求的人。Shell基本知识Shell 脚本(shell script),是一种为 shell 编写的脚本程序。第一个简单的shell脚本:.

2020-12-01 17:26:19 2649 2

原创 Linux- 安装Jenkins 超细讲解

1. 安装SUN JDK参见我的博客:Linux CentOS- 安装Java2.添加Jenkins库到yum库,添加完成后将从这里下载安装。rpm安装参考Jenkins官方说明:https://pkg.jenkins.io/redhat-stable/sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm --import https.

2020-11-23 16:45:34 268

原创 Linux CentOS- 安装Java

目录安装SUN公司的JAVA删除原有安装的java安装SUN公司的JAVA1. 下载安装SUN的安装包,下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html注意这里选择Linux x64安装包,对应自己的系统,否则安装完成后有另外的一些问题。2. 创建安装目录,一般将安装的内容放到/usr/local目录下。cd /usr/localmkdirjava.

2020-11-23 15:30:46 804

原创 Jenkins- 构建失败:FATAL: Java heap space

Jenkins- 构建的出现:java.lang.OutOfMemoryError: Java heap space解决办法:找到Jenkins安装目录的jenkins.xml文件,在<arguments>增加Jenkins启动参数配置:<arguments>-Xrs -Xmx1024m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --http

2020-11-06 14:44:02 1778

原创 Jenkins + Gihub Webhooks实现自动化部署

自动化部署原理:本地代码push到Github webhook检测到Github的push事件 触发Jenkins进行一次build 自动化部署完成配置步骤:1.Github生成Personal Access Token1.1登录到Github –>Settings –> Developer settings –> Personal access tokens –> Generate new token1.2.勾选如下图所示权限,最后点击 generate

2020-09-28 11:29:40 943 1

原创 [Maven]项目中遇到的参数作用记录

Maven Scope* compile,缺省值,适用于所有阶段,会随着项目一起发布。* provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。* runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。* test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。* system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它...

2020-07-15 15:20:25 254

原创 SpringBoot 踩坑笔记(二)

最近在做项目的时候,发现一些不存在的接口,经常会被转发到一个特定的地址(我这里被转发的是:"/api/v1/sendgrid",这个地址在项目是存在的)然后我打开了对应的controller,刚开始始终没有发现问题:/** * @author xxxx * @since 2020/4/21 17:24 sendgrid邮件控制器 */@RestController("/api/v1/sendgrid")public class SendGridController { @Aut

2020-05-09 17:49:25 240

原创 [Eclipse] 开发springboot项目 -- pom.xml第一行报错Unknown error

解决办法1:尝试将SpringBoot2.1.14.BUILD-SNAPSHOT版本降级到SpringBoot2.1.1.RELEASE版本,感觉这治标不治本啊,以后想升级不是玩完了。错误如下:解决办法2:在pom.xml 文件中的 properties 加入maven jar 插件的版本号。错误原因呢,报错是因为版本不兼容问题,将Maven的版本降到3.1.1就可以了,在po...

2020-03-20 18:01:59 1483

翻译 SpringBoot - 启动时实现预加载自动执行代码

前言目前开发的SpringBoot项目在启动的时候需要预加载一些资源。而如何实现启动过程中执行代码,或启动成功后执行,是有很多种方式可以选择,我们可以在static代码块中实现,也可以在构造方法里实现,也可以使用@PostConstruct注解实现,当然也可以去实现Spring的ApplicationRunner与CommandLineRunner接口去实现启动后运行的功能。在这里整理一下,在...

2020-02-25 16:52:16 5637

原创 Java8 - LocalDateTime和Date互转

Date to LocalDateTime: Date currDate = new Date(); LocalDateTime ldt = currDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); System.out.println(ldt);输出:2...

2020-01-19 15:42:40 999

原创 Java - System.currentTimeMillis() 是否和时区有关?

首先我们看一下代码: public static void timeZonePrint() { LocalDateTime now = LocalDateTime.now(); // 获取秒数 gmt+8 Long second8 = now.toEpochSecond(ZoneOffset.of("+8")); // 获取毫秒数 gmt+8 Long milliSecond8 = now.toInstant(Zo

2020-01-19 15:14:25 17177 24

空空如也

空空如也

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

TA关注的人

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