自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot项目打war包,并且部署外部tomcat中

参考:SpringBoot项目打包成war包并部署在tomcat上运行的操作步骤_java_脚本之家

2024-04-23 16:34:18 297

原创 应用部署tomcat的三种方式

这是最简单粗暴的方式:将web工程打成war包,直接丢进tomcat/webapps目录即可,tomcat会自动解压。在D:\test\apache-tomcat-8.5.43\conf\Catalina\localhost:添加testA.xml。二、方式二:配置Server.xml部署Web工程,是针对非springboot项目的web项目的。以上做参考,由于目前本人机器上的是springboot打war包的,暂时无法演示。将war丢进webapps目录,tomcat会自动解压该war包。

2024-04-23 16:32:52 215

原创 Java获取项目运行时的系统参数

可以用System.getProperty("jasypt.encryptor.password");可以用System.getProperty("jasypt.encryptor.password");如加在tomcat的catalina.bat的运行参数。如,要获取运行时的参数password。

2024-04-23 16:13:24 176

转载 Java 读取资源文件(resources file) 转载

classpath:mybatis/SqlMapConfig.xml中,classpath就是指WEB-INF/classes/这个目录的路径。而另一种写法,classpath*:**/mapper/mapping/*Mapper.xml,使用classpath*:这种前缀,则可以代表多个匹配的文件;**/mapper/mapping/*Mapper.xml,双星号**表示在任意目录下,也就是说在WEB-INF/classes/下任意层的目录,只要符合后面的文件路径,都会被作为资源文件找到。

2024-04-18 17:13:15 15 1

原创 ResouceUtils.getFile()取不到Jar中资源文件源码

我们本地读取文件的时候是使用spring自带的ResourceUtil.getFile("classpath:xxxx.txt"),该方法读取是本地的绝对路径,在我们ide开发工具中是没有问题的,因为文件就在磁盘商存储,读取当然也是通过文件存储的磁盘地址读取,但是我们的项目一旦 打包 成jar文件后,我们的所有文件都会在JVM中运行(都是加载到JVM中的),所以使用ResourceUtil.getFile("classpath:xxxx.txt")方法是不可以读取到的,可以使用一下代码读取到文件流。

2024-04-18 16:38:17 569

转载 切面打印日志时,参数序列化异常。It is illegal to call this method if the current request is not in asynchron ——————

1.AOP的日志拦截类中,抛出异常:2.代码如下:package com.jimulian.iwuxi.common.aop;import com.alibaba.fastjson.JSON;import com.jimulian.iwuxi.common.annotation.OptLogAno;import com.jimulian.iwuxi.mapper.OptLogMapper;import com.jimulian.iwuxi.pojo.OptLog;import com.j

2024-04-18 16:32:36 9

转载 什么是序列化、反序列化

序列化,将数据结构或对象转换成二进制串的过程。反序列化,将在序列化过程中所生成的二进制串转换成数据结构或者对象的过程。无论是进程间、线程间的通讯,或者client和server通过socket通讯,还是把对象写到db(实际上也是socket)。这些交互都是通过收发二进制流的,所以发送时候需要将对象序列化二进制数据发送出去,之后接收端收到二进制数据,再通过反序列化变成对象。

2022-10-13 09:31:58 335

转载 转载,lamda表达式结合集合操作

### java8之collector详解,以及结合toMap,sorted,groupingBy使用例子_zzhongcy的专栏-CSDN博客

2021-12-19 18:03:32 196

原创 2021-09-13

{% for user in users %} {{ loop.index }} - {{ user.id }} {% endfor %}loop.index - a zero-based index that increments with every iteration. loop.length - the size of the object we are iterating over. loop.first - True if first iteration loop.last - Tru

2021-09-13 21:10:55 173

原创 CURL发送请求

多个头信息用多个H连接curl -H "host:test.host.com" -H "org:888" -H"user:admin" http://120.0.374.182/apikey发送post请求curl -X POST -d 'username=xnpt&client_ip=12.0.217.135' http://12.0.217.197:8000/trustedpost请求发送json格式curl -H "Content-Type:application/json"..

2021-09-08 13:58:47 168

原创 发送邮件附件,通过url获取附件

发送邮件,附件内容在单独的文件存储服务器上。找了些资料。由于种种原因,代码不能展示出来,参考了https://blog.csdn.net/qq_26797239/article/details/84138992,思路是一样的,主要用到的是URL url = new URL(attachmentUrl);//attachmentUrl 为文件在服务器上的存储地址,如 http://ip:port/file/filepath/test.txtDataSource dataSource=new UR

2021-08-13 15:36:56 2199

转载 Mysql错误: ERROR 1205: Lock wait timeout exceeded解决办法

Java执行一个SQL查询未提交,遇到1205错误。 java.lang.Exception: ### Error updating database. Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction 解决办法: 执行mysql命令: show full processlist; 然后...

2021-08-09 17:56:58 304

原创 java 8 lamda Stream的Collectors.toMap 参数解析

.collect(Collectors.toMap(ProInsDutyRelation::getcId, a -> a, (k1, k2) -> k1));第一个参数ProInsDutyRelation::getcId表示选择ProInsDutyRelation的getcId作为map的key值;第二个参数a -> a表示选择将原来的对象作为map的value值;第三个参数(k1, k2) -> k1中,如果k1与k2的key值相同,选择k1作为那个key所对...

2021-08-06 16:03:58 1074

转载 Mysql事物锁等待超时 Lock wait timeout exceeded; try restarting transaction

工作中同事遇到此异常,查找解决问题时,收集整理形成此篇文章。问题场景问题出现环境:1、在同一事务内先后对同一条数据进行插入和更新操作;2、多台服务器操作同一数据库;3、瞬时出现高并发现象;不断的有一下异常抛出,异常信息:org.springframework.dao.CannotAcquireLockException:### Error updating database. Cause: java.sql.SQLException: Lock wait timeout exce..

2021-07-28 09:55:41 3211 1

转载 在 Linux中,文件的颜色都是有含义的,文件名颜色不同,代表文件类型不一样。

在Linux中,文件的颜色都是有含义的,文件名颜色不同,代表文件类型不一样。浅蓝色:表示链接文件;灰色:表示其他文件;绿色:表示可执行文件;红色:表示压缩文件;蓝色:表示目录;红色闪烁:表示链接的文件有问题了;黄色:表示设备文件,包括block,char,fifo。用"dircolors -p"命令可以看到缺省的颜色设置,包括各种颜色和"粗体",下划线,闪烁等的...

2021-07-22 14:06:50 359

转载 2021-04-17

1.AOP的日志拦截类中,抛出异常:2.代码如下:package com.jimulian.iwuxi.common.aop;import com.alibaba.fastjson.JSON;import com.jimulian.iwuxi.common.annotation.OptLogAno;import com.jimulian.iwuxi.mapper.OptLogMapper;import com.jimulian.iwuxi.pojo.OptLog;import com

2021-04-17 09:56:36 420

转载 使用@JsonFormat的一个坑,遇到了同样的问题,jsonfomat注解失效

spring boot项目 ,mysql数据库的datetime数据类型无法使用@JsonFormat解析 ,使@JsonFormat注解失效 。原因不明 ,解决方案未明-待。。有一个解决方案:@JsonFormat注解在字段解析的时候失效了 ,但是放在application.yml配置文件中可以生效。具体原因不明 ,猜测底层覆盖掉format方法 或者Jackson 默认走配置文件的方式?解决如下: spring: jackson: dat...

2021-04-17 09:17:24 1114 1

转载 Nginx配置Https(详细、完整)

前置条件:在配置https之前请确保下面的步骤已经完成 服务器已经安装nginx并且通过http可以正常访问 不会安装nginx的可以参考下这篇文章:Linux安装nginx(超详细) 拥有ssl证书,没有的可以去阿里购买或者免费申请一年 如果以上条件都满足了,接下来开始配置https第一步:Nginx的ssl模块安装在配置ssl证书之前,要确保你的nginx已经安装了ssl模块,一般情况下自己安装的nginx都是不存在ssl模块的。这里先检查下自己是否存在ss

2021-04-13 16:12:24 6899

转载 全局异常处理 @ControllerAdvice/@RestControllerAdvice + @ExceptionHandler

https://blog.csdn.net/qq_39135287/article/details/100103429

2021-04-13 10:30:28 94

转载 SPRINGBOOT启动流程及其原理

https://www.cnblogs.com/theRhyme/p/11057233.html

2021-03-15 10:59:30 71

转载 MAVEN INSTALL时报错 程序包不存在以及找不到类的情况

此问题来源于一次偷懒两个应用项目(A,B),A一个项目想直接引用另一个项目B的dao。于是A项目的pom中引入了B项目,结果打包总是报错后来查找原因发现最终原因,其实就是没有依赖。。。原因就是spring-boot-maven-plugin这个坑!!!用这个插件打包的Jar包可以直接运行,但是不可依赖!!!所以interface自始至终就没有依赖,自然会说找程序包不存在或者找不到类1 报错[ERROR] Failed to execute goal org.apache...

2021-03-06 10:29:33 1619 5

转载 @Component, @Repository, @Service的区别

@Component, @Repository, @Service的区别官网引用引用spring的官方文档中的一段描述:在Spring2.0之前的版本中,@Repository注解可以标记在任何的类上,用来表明该类是用来执行与数据库相关的操作(即dao对象),并支持自动处理数据库操作产生的异常在Spring2.5版本中,引入了更多的Spring类注解:@Component,@Service,@Controller。@Component是一个通用的Spring容器管理的单例bean组件。而@R

2021-03-05 16:04:47 1366

转载 SpringMVC注解@RequestParam全面解析

在此之前,写项目一直用的是@RequestParam(value="aa" required=false)这个注解,但是并不知道它的意思。现在懂了,特来记录下。1、可以对传入参数指定参数名1 @RequestParam String inputStr 2 // 下面的对传入参数指定为aa,如果前端不传aa参数名,会报错 3 @RequestParam(value="aa") String inputStr 2、可以通过required=false或者true来要求@RequestPa

2021-03-05 14:12:42 230

转载 Java为什么只能单继承

这是我在去哪儿网面试的时候被问到的问题,因为之前在学习Java的时候一直在强调Java是不能多继承的,但并没有去了解为什么。先屡清楚继承和实现的区别: 1 类继承类,实现接口。接口继承接口。 2 类只能单继承类(抽象类和非抽象类), 可以多实现接口。而接口可以多继承接口。分析原因: Java中类不能多继承类是为了安全。因为无论是抽象类还是非抽象类都包含非抽象的方法(非抽象类也可能没有),当类可以多继承类时,被继承的不同的父类可能会有同名同参的方法,如果子类也没有重写这个...

2021-03-05 13:46:39 152 1

转载 认真的讲一讲:自旋锁到底是什么

什么是自旋锁?自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting。Java如何实现自旋锁?下面是个简单的例子:/*** Date: 2016年1月4日 下午4:41:50** @author medusar*/public class SpinLock

2021-02-22 16:15:45 214

转载 普通token登录验证和OAuth2.0应用场景(简述,之后有空再详写)

之前2月底特地看了很多关于token机制和Oauth2.0的文章。由于3月初到现在每天都很忙,所以一直没时间整理。今天其实也还是没时间。不过现大概写一些东西。后面有空在补上吧。之前忙着发现杯的作品提交材料,最近则是忙着Netty开发。在正式介绍Token之前,先大致回顾一下Cookie和Session。(下面介绍跨度比较大,涉及内容不止Cookie和Session)1. Cookie​ Cookie一般是指客户端浏览器的Cookie,别的地方有没有Cookie我就不清楚了。Cookie可以用.

2021-02-03 09:15:32 1150

转载 深入理解Spring的容器内事件发布监听机制

https://www.cnblogs.com/takumicx/p/9972461.html在讲解事件监听机制前,我们先回顾下设计模式中的观察者模式,因为事件监听机制可以说是在典型观察者模式基础上的进一步抽象和改进。我们可以在JDK或者各种开源框架比如Spring中看到它的身影,从这个意义上说,事件监听机制也可以看做一种对传统观察者模式的具体实现,不同的框架对其实现方式会有些许差别。典型的观察者模式将有依赖关系的对象抽象为了观察者和主题两个不同的角色,多个观察者同时观察一个主题,两者只..

2021-01-28 10:38:13 170

原创 支付宝支付后回调处理(Java版)

支付宝支付后回调处理(Java版)https://blog.csdn.net/thc1987/article/details/80269181?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control支付宝

2021-01-28 10:36:50 1133 1

转载 Spring的事件监听机制用法

事件监听的简单讲解:https://www.cnblogs.com/xinde123/p/8918714.html在一个完整的事件体系中,除了事件和监听器以外,还应该有3个概念;1.事件源:事件的产生者,任何一个event都必须有一个事件源;2.事件广播器:它是事件和事件监听器之间的桥梁,负责把事件通知给事件监听器;3.事件监听器注册表:就是spring框架为所有的监听器提供了一个存放的地方;通过流程图,可以看出它们是如何各司其职的,如下:结构分析:1. ...

2021-01-27 11:41:41 74

原创 关于token的在api中的应用

认证鉴权与API权限控制在微服务架构中的设计与实现(一)https://www.jianshu.com/p/2b908169e10f微服务架构下的安全认证与鉴权https://www.jianshu.com/p/22610b276beeBearerToken之JWT的介绍https://www.cnblogs.com/lori/p/11246611.html...

2021-01-25 09:04:41 89

转载 QQ互联登陆(Java)

https://www.cnblogs.com/niceyoo/p/11256280.html1、账户注册腾讯开放平台网址:https://connect.qq.com/index.html首先需要到开放平台注册QQ互联开发者身份。注册之后创建一个网站应用,注意,需要备案成功的域名才可申请。2、应用审核审核通过后如下图所示,审核通过后可以得到 appid 和 appkey,用于开发中使用。二、实现思路相信大家都用过QQ登陆第三方网站,但是在开发之前我们需要先了解一..

2021-01-25 09:01:09 474

转载 @RequestBody和@RequestParam区别以及对应postman中的传参方式

https://blog.csdn.net/weixin_38004638/article/details/99655322

2021-01-22 14:35:24 217

转载 springboot打包错误:Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0...

https://blog.csdn.net/weixin_43567035/article/details/109706572

2021-01-22 14:03:12 276

转载 Spring Boot使用注解方式整合MyBatis

一、数据准备创建数据库CREATE DATABASE springbootdata DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;创建表t_article并插入相关数据CREATE TABLE `t_article` ( `id` int(20) NOT NULL AUTO_INCREMENT COMMENT '文章id', `title` varchar(200) DEFAULT NULL COMMENT '文章标题'

2021-01-22 11:20:45 523

转载 @RequestBody的使用

转自https://blog.csdn.net/justry_deng/article/details/80972817提示:建议一定要看后面的@RequestBody的核心逻辑源码以及六个重要结论!本文前半部分的内容都是一些基 本知识常识,可选择性跳过。声明:本文是基于SpringBoot,进行的演示说明。基础知识介绍: @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@Req...

2021-01-22 11:10:43 184

转载 接口认证方式:Bearer Token

因为HTTP协议是开放的,可以任人调用。所以,如果接口不希望被随意调用,就需要做访问权限的控制,认证是好的用户,才允许调用API。目前主流的访问权限控制/认证模式有以下几种:1),Bearer Token(Token 令牌)定义:为了验证使用者的身份,需要客户端向服务器端提供一个可靠的验证信息,称为Token,这个token通常由Json数据格式组成,通过hash散列算法生成一个字符串,所以称为Json Web Token(Json表示令牌的原始值是一个Json格式的数据,web表示是在互联网传

2021-01-19 11:18:05 1051

转载 项目集成Spring Security

前言之前写的涂涂影院管理系统这个 demo 是基于 shiro 来鉴权的,项目前后端分离后,显然集成 Spring Security 更加方便一些,毕竟,都用 Spring 了,权限管理当然 Spring Security.花了半天时间整理的笔记,希望能对你有所帮助。Spring Security 一句话概述:一组 filter 过滤器链组成的权限认证。一、加入依赖环境:项目采用 Spring Initializr 快速构建 Spring Boot ,版本交由spring-bo...

2021-01-18 17:22:06 202

转载 SpringSecurity 整合 JWT

前言前后端分离项目中,如果直接把 API 接口对外开放,我们知道这样风险是很大的,所以在上一篇中我们引入了 Spring Security ,但是我们在登陆后缺少了请求凭证部分。什么是JWT?JWT是 Json Web Token 的缩写。它是基于 RFC 7519 标准定义的一种可以安全传输的 小巧 和 自包含 的JSON对象。由于数据是使用数字签名的,所以是可信任的和安全的。JWT可以使用HMAC算法对secret进行加密或者使用RSA的公钥私钥对来进行签名。JWT的工作流程1、用户

2021-01-18 17:03:45 161

转载 Nginx配置文件详解

一、Nginx配置文件的整体结构1|11.1、全局块配置影响nginx全局的指令。主要包括:配置运行Nginx服务器用户(组) worker process数 Nginx进程 PID存放路径错误日志的存放路径 配置文件的引入1|21.2、events块配置影响nginx服务器或与用户的网络连接。主要包括:设置网络连接的序列化 是否允许同时接收多个网络连接 事件驱动模型的选择 最大连接数的配置1|31.3、http块可以嵌套多个ser...

2021-01-18 11:18:50 586

转载 【Spring Boot】Error creating bean with name ‘servletEndpointRegistrar‘ defined in class

由于项目升级,遇到了这个问题,找了好多解决办法。都无济于事。有说是少了引用jdbc包的;有说是需要把DataSource在启动类上排除掉的,都不能解决。最后找到了这个文章,由于项目的架构不是本人做的,里面的引用超级复杂,结构也很复杂。最后架构的人自行解决了,不过我想应该就是因为下面说的原因导致的。转载作者的文章以此记录。嘎嘎嘎。org.springframework.context.ApplicationContextException: Unable to startweb se.

2021-01-09 09:45:57 5088

空空如也

空空如也

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

TA关注的人

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