自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux如何查找并强制杀死进程

【代码】Linux查找并强制杀死进程命令。

2023-10-11 13:15:55 207

原创 MetaException(message:Add request failed : INSERT INTO `COLUMNS_V2`....

Hive创建带有中文名称字段的表

2023-06-29 15:07:27 1032

原创 No package available

查看/etc/yum.repos.d/下有没有epel.repo文件,如果没有通过。命令下载,如果有则需要备份;由于阿里云的该源已失效,所有需要修改。epel后添加-archive然后保存,运行。对yum源文件检查通过后即可。yum缺少或源需要更新。

2023-06-19 17:45:14 585

原创 IllegalArgumentException: Invalid char (/) found at index in sheet name

IllegalArgumentException: Invalid char (/) found at index (2) in sheet name

2022-10-13 14:52:39 2120 1

原创 关于SpringBoot加载配置文件中Map的顺序问题

起因  我这的需求呢很简单,就是在配置文件中配置一个map类型的参数,然后读取的时候按配置的顺序读取出来,本来就是很容易的一个东西,结果误入歧途,翻看了一些源码,最终复杂版的还是解决了这个问题。简易版其实这个很简单,直接在application.yml默认配置文件中配置test: filter: "keyA": "valueA" "keyB": "valueB" "keyC": "valueC"或者test: filter: {"keyA": "valueA",

2022-05-24 14:20:38 978

原创 Feign远程调用将GET请求变为POST请求的问题

问题:当feign远程调用时(如下)携带参数时,会被转换成POST请求 @GetMapping("/getName") RespResult<String> getName(String userId);解决办法1、参数前增加@RequestParam注解 @GetMapping("/getName") RespResult<String> getName(@RequestParam("userId") String userId);2、参数过多时可使

2022-02-17 16:16:04 2189 2

原创 java接收和返回Date类型参数

接收时间类型格式化注解@DateTimeFormat(pattern = "yyyy-MM-dd")返回事件类型格式化注解@JsonFormat(pattern = "yyyy-MM-dd")注: 如果返回时间与数据库时间不符的@JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")可以通过JsonFormat的timezone来设置时区...

2021-09-02 15:38:14 3373

原创 Shiro Realm中注入Service引发的问题

问题发现在userService中通过mybatis-plus切换数据源的注解切换时,发现切换不了了。经过一系列排查之后,发现是realm注入了该service之后导致无法切换数据源。问题解决在realm中不建议注入service,应该注入mapper,如果需要注入service的话,就要加上@Lazy注解对它懒加载才可以。注:只要在realm中注入service不仅仅是无法切换数据源,事务也无法生效,所以尽量避免在realm中使用service。...

2021-08-05 13:36:37 312

原创 springboot项目通过maven打包的三种方式

直接打SpringBoot的jar包这种方式包含所需要的所有依赖jar包,体积较大,不便于部署服务器。 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin<

2021-03-11 16:28:01 830

原创 spring-boot-starter-parent not found

更换parent版本时,maven下载了半天说是找不到。修改maven远程仓库时,不要直接去找settings.xml文件去修改必须在idea里面打开修改,然后下载就可以了

2021-02-24 15:06:24 1542

原创 shell脚本运行jar包

当使用SpringBoot框架时,他自己集成了tomcat。在启动jar包时,经常需要复制一大段命令,尤其是在项目目录发生改变的时候,实在繁琐。所以可以使用shell脚本来启动、关闭和重启Java项目。创建一个shell脚本vim 脚本名.sh脚本内容:#!/bin/bash#这里可替换为你自己的执行程序,其他代码无需更改 JAR_NAME=jar包名称#lib目录LOAD_PATH="-Dloader.path=/home/local/lib/"#项目配置文件CONFIG_PATH

2021-01-28 19:23:30 3741

原创 HttpMediaTypeNotAcceptableException: Could not find acceptable representation

HttpMediaTypeNotAcceptableException: Could not find acceptable representation异常说明: 翻译说是找不到对应的可以接受类型。但是我这的触发场景是在通过response返回图片流的时候,并且return了String内容。于是还导致出现了另一个异常信息:java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to java.

2021-01-21 15:50:33 1544

原创 Java正则表达式 匹配两个字符串中间的内容

正则匹配两个字符之间的内容表达式: (?<=A).*?(?=B)匹配两个字符串A与B之间的内容,不包含A和B // 匹配规则 String reg = "(?<=A).*?(?=B)"; String temp = "aAabcBc"; Pattern pattern = Pattern.compile(reg); Matchermatcher = pattern.matcher(temp); if( m

2021-01-19 17:19:02 12821 3

转载 转载:SQL 优化极简法则,还有谁不会?

转载自不剪发的Tony老师的SQL 优化极简法则文章目录查询优化是一个复杂的工程,涉及从硬件到参数配置、不同数据库的解析器、优化器实现、SQL 语句的执行顺序、索引以及统计信息的采集等,甚至应用程序和系统的整体架构。本文介绍几个关键法则,可以帮助我们编写高效的 SQL 查询;尤其是对于初学者而言,这些法则至少可以避免我们写出性能很差的查询语句。以下法则适用于各种关系型数据库,包括但不限于:MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite 等。如果觉得文章有用,欢

2020-10-27 18:04:11 187 1

原创 在静态方法中使用autowired注入的bean

使用场景:例如在工具类的静态方法中使用autowired注入的bean我是通过读配置文件获取值然后展示的。前期准备:@Data@Component@ConfigurationProperties(prefix = "test")public class UserUtil { private String username; private Integer age;}配置文件:testt: username: 张三 age: 18方法一: @Autow

2020-10-27 17:10:13 1612 1

原创 MySQL数字类型查询的注意事项

由于工作的疏忽,导致了一个问题,问题具体不太好描述,语言表达能力有待提高鸭。。。话不多说,直接上图表里的数据是这样的:表结构是这个鬼样子的:当我写了一条这样的sql(其实是因为我代码写错导致的5555):select *from `table` where id in ('[1','2','3]')一般来讲,下意识会认为1和3都已经跪了,只能查出2来,对吧。因为,in 相当于是多次 = 嘛。但是这个结果确实这样的:你会发现只有1不见了,3并没有受到影响。寻找真谛那如果这个sql.

2020-09-14 16:28:22 225

原创 Spring Boot内置tomcat升级Https协议

首先需要准备好证书阿里云上有免费的证书可以申请,申请流程就不写了。下载好以后是一个压缩包,里面有证书和密码。其次把解压出来的证书放到 resources目录下,然后application.yml中配置:server: ssl: key-store: classpath:证书名.pfx key-store-password: 密码 key-store-type: PKCS12 #证书类型最后这就ok了,测试一下如果是http的话,就会报错,可以增加一

2020-09-11 10:00:30 382

原创 Cookie中SameSite的问题与解决办法

问题:在解决跨域问题的前提下,使用谷歌浏览器仍然登录失败。  由于登录时使用到了cookie,项目又是前后端分离,所以在跨域前提下解决跨域问题后可以正常发送cookie。但是在Chrome浏览器高版本中,它为了防止第三方网站盗用cookie实现CSRF攻击,所以谷歌采用设置cookie的same-site和secure属性来防止CSRF攻击。解决方案:一、强制用户不要使用Chrome类似的浏览器(开个玩笑哈,这样当然是不合理的)那肯定是pass掉二、关掉Chrome浏览器的这个设置(由于安全性

2020-09-09 16:27:27 22717 5

原创 Sunny-Ngrok内网穿透工具下载及使用

使用场景当我们在公司或这学校开发项目时,有些功能(例如:微信公众号的开发)则需要将本项目暴露在外网才可以,但是又属于开发测试阶段,搭到外网服务器又太麻烦。这个时候就需要将本地运行的项目暴露到外网直接测试。下载地址Sunny-Ngrok内网转发工具下载地址使用教程下载好之后,还需要到他的官网进行开通隧道才可进行使用。**友情提示:**免费隧道连接性差,想体验好的服务就花点钱钱(小声bb)。这就开通好一个免费的隧道了。这里可以查看开通隧道的一些信息,当隧道没有启用时是不在线的。稍等,那么现

2020-06-10 18:04:00 1487

原创 vue和spring boot测试时遇到的问题

vue和spring boot使用post请求发送json数据的问题前端使用vue,后端springboot,当使用@RequestBody接收json数据前后端在进行调试时,本身在两台电脑上,会有跨域问题,让后端解决跨域问题,前端vue不要使用代理,不然参数会传不过来,会报服务器超时异常、socket解析异常或者其他奇奇怪怪的问题。后端解决跨域问题的代码:import org.springframework.context.annotation.Bean;import org.springfr

2020-05-19 10:48:08 328

原创 关于Shiro登录后却仍旧报没有权限的异常处理

异常产生环境前言,我项目的大致前后端框架是vue前端+后端SpringBoot+Shiro,本地分离测试没有发现问题,可以正常登录点击,并且到授权方法进行授权,但是部署到服务器上就出现问题了,然后一直报AuthorizationException这个异常,可是明明本地分离测试都没有问题,然后分离部署到服务器上就出现问题了。问题分析首先,前后端分离部署是属于跨域,再进行异步请求时会存在跨域问题...

2020-04-14 17:14:51 2164

原创 Windows向Linux发送文件的工具及使用说明(PUTTY)

首先下载PUTTY传送门 提取码:f274安装注意:一定要安装在C:\Windows\System32\下,否则将会出现pscp不是内部或外部命令的错误!语法格式pscp -pw "密码" 文件在Windows的位置 账号@Linux的ip:要上传到Linux上的位置注意事项:语法中间的空格和冒号,密码需要引号引起来,否则密码中有特殊字符会被当成命令执行!...

2020-03-25 11:20:52 233

原创 Eclipse导出jar包

eclipse导出jar包的时候,如果项目中包含了其他依赖包时,需要点击图中红框的一栏才可以导出完整的jar包。

2020-01-08 08:55:19 180

原创 Java发送邮件工具类

Java代码发送邮件import javax.mail.Address; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util....

2019-11-12 15:12:02 184

原创 如何使用RabbitMQ

安装RabbitMQ是基于Erlang语言开发的,所有先要安装Erlang的环境。Erlang官网下载地址:https://www.erlang.org/downloadsRabbitMQ官网下载地址:http://www.rabbitmq.com/download.html启动RabbitMQ进入到rabbitMq的安装目录中,进入sbin文件夹中第一步:启动rabbitMQra...

2019-11-11 11:11:57 425

原创 消息中间件MQ

什么是消息中间件  消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色大致也就有Producer(生产者)、Consumer(消费者)。  消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和...

2019-11-11 10:29:27 159 1

原创 RBAC权限模型

概述RBAC(全称:Role-Based Access Control)基于角色的权限访问控制,作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另...

2019-11-10 09:27:00 268

原创 通过Java代码生成PDF文件

使用工具介绍  模板工具Jaspersoft Studio。Jaspersoft Studio是JasperReports库和JasperReports服务器的基于Eclipse的报告设计器; 它可以作为Eclipse插件或作为独立的应用程序使用。Jaspersoft Studio允许您创建包含图表,图像,子报表,交叉表等的复杂布局。您可以通过JDBC,TableModels,JavaBeans...

2019-11-09 14:36:49 1104

原创 Map和JavaBean属性转换工具类

import org.springframework.cglib.beans.BeanMap;import java.util.HashMap;import java.util.Map;public class BeanMapUtils {/** * 将对象属性转化为map结合 */public static <T> Map<String, Object>...

2019-11-08 19:52:08 374

原创 文件下载工具类

文件下载时使用的工具类import org.springframework.stereotype.Component;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import java.io.ByteArrayOutputStream;import java...

2019-11-05 09:59:19 452

原创 通过Java代码操作Excel

什么是POIApache POI是Apache软件基金会的开源项目,由Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java语言操作Microsoft Office的功能。Apache POI是目前最流行的操作Microsoft Office的API组件,借助POI可以方便的完成诸如:数据报表生成,数据批量上传,数据备份等工作。API对象工作簿 :X...

2019-11-04 10:24:21 273

原创 常见面试题(一)

缓存系统常见问题缓存穿透问题描述:  查询一个一定不存在的数据,因为这个数据不存在,所以永远不会被缓存,所以每次请求都会去请求数据库解决方案:  (1) 采用布隆过滤器:使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤  (2) 缓存错误值:访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间缓存击穿问题描述:  一个存在的key...

2019-10-24 10:39:17 261

原创 Redis介绍及应用

Redis简介Redis(Remote Dictionary Server)是用C语言开发的一个开源的高性能键值对数据库。它的所有数据都是保存在内存中的,这也就决定了其读写速度之快,是其它硬盘保存数据的系统所无法匹敌的。官方曾经给出过一组测试数据,50个并发执行100,000个请求。读的速度是110000次/s,写的速度是81000次/s,正是由于其有着如此高的性能,所以Redis在企业中最大...

2019-10-24 10:38:16 213

原创 Nginx介绍及应用

Nignx简介Nginx是一款轻量级的 Web 服务器,由俄罗斯的程序设计师伊戈尔·西索夫所开发。Nginx性能非常优秀,官方测试 nginx 能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。(apache)Nginx是一个高性能的HTTP和反向代理服务器,采用模块化、事件驱动、单线程以及非阻塞架构Nginx一般由一个master进程和多个worker进程组成,其中...

2019-10-23 09:58:01 996

原创 SpringMVC入门(二)

页面跳转之转发方式一:return “/index.jsp”; 这种方式可以在配置文件中InternalResourceViewResolver的属性中为其添加前缀和后缀,所以这可以写成:return “index”;方式二:return “forward:/index.jsp”; 这种方式也可以进行转发,但是会使配置文件中的前后缀失效。页面跳转之重定向使用redirect进行重定向:r...

2019-10-18 15:14:17 177

原创 SpringMVC入门(一)

SpringMVC概述  SpringMVC是Spring产品对MVC模式的一种具体体现,它可以通过一套注解让一个简单的java类成为控制器,无需实现任何借口。同时它还支持restful风格的请求。SpringMVC工作流程用户通过浏览器发送请求到DispatcherServlet。DispatcherServlet收到请求调用HandlerMapping。HandlerMappin...

2019-10-17 12:02:01 135

原创 Spring之事务管理

Spring事务管理的方式  Spring支持两种事务管理方式:编程式事务和声明式事务。编程式事务:将事务代码和业务代码放在一起写,这样的耦合性太高, 开发中不建议使用。声明式事务:将事务代码和业务代码隔离开发,然后通过一段配置将它们组装运行,最后达到事务控制的目的。  其实声明式事务就是通过AOP原理实现的。Spring事务管理相关的APIPlatfromTransactio...

2019-10-15 15:50:11 141 1

原创 AOP推导(Java版)

AOP概述AOP为Aspect Oriented Programming的缩写,即面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。是Spring框架中的重要内容,它可以对业务逻辑的各个部分进行隔离,从而使得代码耦合度降低,提高了程序的可重用性,同时提高了开发效率。AOP描述图AOP推导过程假如,现在要完成一个转账功能的实现。正常业务逻辑:业务层实现类:...

2019-10-14 11:03:37 156

原创 Spring之AOP

Spring AOPAOP,即面向切面编程,是一种思想。Spring AOP是这种思想的实现,Spring底层同时支持jdk和cglib动态代理。Spring会根据被代理类是否有接口自动选择代理方式:如果有接口,就采用jdk动态代理(当然也可以强制使用cglib),如果没有接口,就使用cglib动态代理。术语目标对象:是指被代理的类产生的对象。连接点:目标对象中所有的方法。切入点:目标...

2019-10-14 10:07:55 175

原创 Spring之二

注解@Component:用于实例化对象,相当于配置文件中的< bean id="" class=""/>,它支持一个属性vallue,相当于配置文件中的id,如果不写,默认值为类名首字母小写。以下三个注解与Component功能完全一样,只不过这三个比较有语义化。@Controller:一般标注在表现层的类上。@Service:一般标注在业务层的类上。@Reposit...

2019-10-12 19:32:58 141

ListUtil.java

用来截取List和判断是否为空的工具类

2021-08-11

空空如也

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

TA关注的人

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