后端
文章平均质量分 50
却诚Salong
这个作者很懒,什么都没留下…
展开
-
SpringBoot集成jjwt和使用
SpringBoot集成jjwt和jwt工具类使用原创 2023-11-21 20:45:33 · 588 阅读 · 0 评论 -
基于java的SFTP工具类
【代码】基于java的SFTP工具类。原创 2023-01-09 16:03:25 · 1828 阅读 · 1 评论 -
SpringBoot集成JSR并使用
如果参数不合法,JSR会抛出异常,这里异常有两种,一种是get请求的param的参数,会抛出ConstraintViolationException的异常,第二种是post请求的body的json数据中参数不合法,会抛出MethodArgumentNotValidException的异常,所以在这里,可以使用@ControllerAdvice做统一的异常捕获和处理,完整代码已贴出。如上图,我们创建了一个UserController对象,并且里面有一个post请求和一个get请求(为什么要分开讨论后续讲。..原创 2022-07-27 15:52:30 · 302 阅读 · 0 评论 -
@Async注解作用和集成Springboot配置
总结,被Async注解的方法会开启一个新的线程来异步处理代码逻辑,如果放在类上,那么类里面的所有方法被调用时候,都会异步调用。举例解释:如果一个接口,接口中需要调用A远程方法(返回数字),然后调用B远程方法(返回数字),然后将两个数据结果做加法作为最终的接口返回,A调用需要3秒,B需要2秒,那么如果按顺序执行,则调用需要5秒时间才可以获取到数据,如果使用异步,那么A和B同时执行,则只需要3秒即可返回数据。...原创 2022-06-28 00:23:54 · 302 阅读 · 0 评论 -
SpringBoot中使用UDP监听端口获取数据
需求:在springboot项目启动后,另开启一个线程来监听某个端口发送的udp包数据,并且实时将获取到的数据入库。1.可以先下载一个TCP/UDP Socket调试工具。因为udp没有response,所以先确定用工具能接收到udp包数据,创建udp server来监听某个端口,创建udp client给指定ip和端口发数据包,联调时候先用此工具看看能否接收到外部发送到本地的udp数据包。2.如果确定上述工具可以接收到目标数据包,那么可以开始用代码实现了,直接复制即可使用,其中在这里我们开原创 2022-05-26 19:36:40 · 4703 阅读 · 13 评论 -
Mybatis实现接收包含对象和集合的数据的对象
需求:返回一个班级的基本信息和班主任信息和这个班级的所有的学生信息。即一个班级对象里面有自身的班级信息,一个班主任的Object信息和一个学生对象的List信息。创建了三个表1.班级表t_class2.学生表t_student3.班主任表t_teacher查询的sql是这样的我们可以知道,老师和班级是一个对象,三条数据中的老师和班级信息都是一样的,只有学生的信息不同。在xml代码中的体现如下,property是java实体类的属性名称,column是s...原创 2022-03-09 19:37:52 · 1463 阅读 · 0 评论 -
idea好用的插件和工具网站
插件1:TranslationPlugin翻译,主要用于中文和英文的互相翻译,点击右键,选择语言,即可使用插件2:Mybatis-log-pluginmybatis的日志打印非常鸡肋,使用这个能快速将sql复制出来。插件3:mybatisXMapper和xml能互相跳转,而且还可以检测你的映射地址是否有误。插件4:RestfulToolkit通过接口快速定位接口的controller的方法位置,快捷键ctrl+\插件5:lombok懂得都...原创 2022-03-08 16:18:28 · 694 阅读 · 0 评论 -
SpringBoot集成redisson
1.首先需要已经集成redis的环境,如何集成redis这里不做描述。2.引入redisson的依赖。(这里使用的是3.14.1版本)<dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.14.1</version> </dependency>原创 2021-11-30 12:11:58 · 8166 阅读 · 0 评论 -
GET请求传递list数据并使用mybatis批量处理
1. 批量传入id的集合,在postman里面展示为这样。2.接收集合,在集合参数前面加上@RequestParam注解,需要注意的是集合这个参数可以传空字符串,代表空集合,但是不能不传,否则会报错。3.使用mybatis的in方法批量处理,建议:调用sql之前最好做一下判断,如果集合的size等于0,则将集合置为null,跟第四步好接洽。4.在xml中批量处理in操作。<if test="buildingIds != null ">and tpb."id" ..原创 2021-10-25 17:21:35 · 1365 阅读 · 0 评论 -
SpringBoot集成xxl-job
声明:本xxl-job版本是2.3.0,如果你的依赖中存在@JobHandler注解而没有@XxlJob注解,那么请升级版本。1.引入依赖。<dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>2.3.0</version> </dependency>原创 2021-08-02 19:20:04 · 437 阅读 · 0 评论 -
windows关闭nginx命令
在nginx目录下新增bat文件,文件添加以下内容。taskkill /im nginx.exe /f原创 2021-06-10 00:15:58 · 575 阅读 · 0 评论 -
SpringBoot集成SpringCache
一.基础配置和使用cacheable1.首先准备工作,启动mysql数据库和redis服务(根据个人情况),配置springboot项目。spring: datasource: username: root password: 123456 url: jdbc:mysql://127.0.0.1:3306/salong type: com.alibaba.druid.pool.DruidDataSourceC3P0Adapter driver-class原创 2021-03-17 17:24:31 · 289 阅读 · 1 评论 -
springboot接入榛子云短信验证码(超详细)
首先,讲之前先声明,我是使用的榛子云云短信服务平台,觉得比较好用,充值20块钱就可以有540条验证短消息,一条短信消息约3分钱左右。而且对于个人开发者比较友好,提供了个人开发者和组织机构两种方式,博主是使用的个人版,免去了各种注册和组织机构代码申请填写啥的,当然,使用个人版的代价就是,无法修改短信前的签名,如下图的【榛子云体验】,注册企业版之后可以自定义修改签名。讲了这么多关于榛子云的,那么下面我们就开始上干货了,简单粗暴三步骤,搞定。1.在项目中引入榛子云的jar包。查看最新版本的榛子云的原创 2021-03-11 14:56:48 · 2247 阅读 · 4 评论 -
外网无法访问kibana接口的解决方案
问题:之前在阿里云服务器上部署了es和kibana,但是始终无法通过ip:port这种形式访问到kibana,但是内部使用curl localhost:5601却可以访问,下面是我的解决方案尝试,提供几个思路。1.防火墙的问题。firewall-cmd --list-ports查看当前的放行的端口,使用firewall-cmd --add-port=5601 来放行5601端口,确保5601端口不会被拦截。2.kibana的配置问题。修改kibana的config目录下的kibana.yml配置文.原创 2021-03-02 18:49:47 · 3861 阅读 · 0 评论 -
sentinel实战使用记录
1.去github官网下载sentinel的控制台jar包,地址:https://github.com/alibaba/Sentinel/releases2.服务pom中加入sentinel依赖(自选版本)。<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId&原创 2021-02-04 10:58:08 · 184 阅读 · 0 评论 -
SpringBoot集成Spring Task定时任务
1.在springboot启动类上加上 @EnableScheduling注解,启用task。2.编写task类package com.salong.aspect.task;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;import java.util.Date;@Componentpublic class tas.原创 2021-01-25 18:35:28 · 281 阅读 · 0 评论 -
elasticsearch7.7.1自学笔记
1.新增文档(不指定文档id,会随机生成一个id)如果是7.x版本的es,不需要指定type,全部改成 _doc, _doc是默认的type类型而且一个索引只有一个类型。第一种。post /index/type{"field1":"value1","field2":"value2"}第二种put或者post /index/type/自定义文档id{"field1":"value1","field2":"value2"}2.修改文档第一种,使原创 2021-01-21 01:15:58 · 296 阅读 · 0 评论 -
elasticsearch的自学笔记
1 概念1.1 索引indexes的服务中,可以创建多个索引;每一个索引默认被分成5片存储;每一个分片都会至少存在一个备份分片;备份分片不会帮助检索数据,当es检索压力特别大的时候,备份分片才会帮助检索数据。备份分片必须放在不同的服务器中。1.2 类型type一个索引下,可以创建多个类型;版本不同,创建的类型也不同;1.3 文档doc一个类型下,可以有多个文档。这个文档就类似于mysql的一个表里面的多行数据。1.4 属性field一个文.原创 2021-01-20 10:28:16 · 145 阅读 · 0 评论 -
docker部署es和kibana的环境搭建
1.安装elasticsearch&kibana这里以7.7.1为准,需要注意的是,这两个下载必须指定版本号,不能使用latest,并且两个版本必须一致。docker pull elasticsearch:7.7.1docker pull kibana:7.7.12.运行elasticsearch&kibana启动es,其中 -e "discovery.type=single-node" 这个配置建议加上,否则会出现启动es的时候会报Native controller .原创 2021-01-20 10:05:35 · 1175 阅读 · 3 评论 -
java8 lambda常见用法总结
个人总结的一些关于java8 lambda stream相关的操作和写法,可以直接复制粘贴,亲自体验功能。package test;import lombok.Data;import lombok.ToString;import lombok.experimental.Accessors;import java.util.*;import java.util.stream.Collectors;import java.util.stream.Stream;@ToString@Da原创 2021-01-03 12:42:20 · 322 阅读 · 3 评论 -
JWT工具类
package com.salong.utils;import com.auth0.jwt.JWT;import com.auth0.jwt.JWTCreator;import com.auth0.jwt.algorithms.Algorithm;import com.auth0.jwt.interfaces.DecodedJWT;import java.util.Calendar;import java.util.Map;/** * @author Salong * @descri.原创 2020-12-08 10:18:46 · 501 阅读 · 0 评论 -
SpringBoot集成swagger
1.创建一个spring web项目。2.导入swagger相关依赖。<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId>原创 2020-10-20 15:59:46 · 143 阅读 · 0 评论 -
关于时间段查询的sql整理(oracle)
--查询本月数据(整月)select* from表where列>=TRUNC(SYSDATE, 'MM') and列<=last_day(SYSDATE);--查询上个月数据(整月)SELECT* FROMt_vehicle_accident WHERETO_CHAR(列,'YYYY-MM')=TO_CHAR(ADD_MONTHS(SYSDATE,-1...原创 2020-03-31 15:39:51 · 661 阅读 · 0 评论 -
Redis常用命令总结
通用命令expire key 5 //设置5秒后过期pexpire key 5000 //设置5000毫秒后过期expireat key timestamp//设置时间戳,超过之后过期persist key //移除key过期时间属性time //查看当前时间戳del key //删除keyttl key或者pttl key //查看key还剩...原创 2019-10-28 09:41:19 · 162 阅读 · 0 评论 -
feign的使用和爬过的坑
自学了一些springclou的相关组件,今天记录个人在feign的自学中遇到的坑和解决方案。调用1.引入依赖。在pom文件中导入fegin,需要注意的是,如果springboot版本是2.0以后的,要使用下面的openfeign,使用feign会导致启动类上无法找到@EnableFeignClients注解。<dependency> <groupId>...原创 2019-09-18 11:19:32 · 372 阅读 · 0 评论 -
java对象的tostring转变为json字符串
在之前工作中,需要把一个java的VO对象转换成json,从而获取其中的key,但是居然解析不了,无法转换。如下图:后来我又更改了写法:JSONObject jsonObj = JSONObject.parseObject(r.toString());但是出现了一个问题,因为我写的VO的toString的格式是returnVO{name="zhangsan",age=1}这种...原创 2019-09-16 15:24:26 · 8572 阅读 · 1 评论 -
Spring切面中实现自定义注解
1.首先写出一个自定义注解。package com.salong.aspect.test;import java.lang.annotation.*;@Target(ElementType.METHOD)@Documented@Retention(RetentionPolicy.RUNTIME)public @interface Login { String usern...原创 2019-06-06 11:23:16 · 4029 阅读 · 0 评论 -
mybatis plus的文件搭建与使用
由于集成spring和springboot所需要的依赖是不一样的,官方有具体的jar,这里不多说。ssmp与ssm搭建不同的地方有如下几个地方:1,service接口要继承Iservice,这个是mybatis-plus内部的一个接口,代码如下:public interface userService extends IService<UserEntity> {}其...原创 2019-06-06 11:01:50 · 468 阅读 · 0 评论