自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 List自定义排序

1.在多表查询的过程中常常会遇到查询多个字段组成的集合,并且还要对结果集合里面的某个属性进行排序返回。例:List<Map<String, Object>> alarmMaps = new ArrayList();注:alarmMaps里面存在 count 属性//排序 倒序if (alarmMaps != null && alarmMaps .size() > 1) {Collections.sort(alarmMaps , new Compara

2021-09-22 14:13:17 1710

原创 spring配置多数据源bean

创建配置类package com.lenovo.cd.pf.service;import com.lenovo.cd.mf.common.datasource.DynamicDataSource;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.

2021-08-10 15:44:35 601

转载 Spring项目启动完成后,自动执行一次指定方法

实现ApplicationListener接口,并实现 onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent)方法@Servicepublic class SearchReceive implements ApplicationListener<ContextRefreshedEvent> { @Override public void onApplicationEvent(ContextRefresh

2021-08-10 11:07:10 678

原创 linux环境下上传的windos环境下的.sh脚本启动报错,因为回车和空格转换的问题

.sh文件启动时报错No such file or director修改:进入.sh文件vim **.sh文件shift+:直接输入set ff显示fileformat = **如果不是unix就需要修改输入set fileformat =unix搞定

2021-08-04 17:15:37 194

原创 Fifle拦截器

package com.lenovo.szq.bigdata.filter;import com.alibaba.fastjson.JSON;import com.lenovo.szq.bigdata.auth.entity.SessionUser;import com.lenovo.szq.bigdata.auth.util.AuthCacheUtils;import com.lenovo.szq.bigdata.auth.util.CommonConstant;import com.leno

2021-08-04 09:54:07 302

原创 命令启动jar包执行具体方法,调运完停止

pom文件配置<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <mainClass>com.example.weather.App</mainClass>

2021-07-28 15:28:18 97

原创 swagger-ui增强版knife4j

开源仓库https://github.com/xiaoymin/swagger-bootstrap-ui码云https://gitee.com/xiaoym/knife4j在线预览http://knife4j.xiaominfo.com/doc.html主要功能介绍:目前主要的模块包括:模块名称说明:knife4j为Java MVC框架集成Swagger的增强解决方案knife4j-admin云端Swagger接口文档注册管理中心,集成gateway网关对任意微服务文档进行组合集成kni

2021-07-20 14:17:04 441

原创 mybatis流式查询数据

mybatis流式查询数据MyBatis 提供了一个叫 org.apache.ibatis.cursor.Cursor 的接口类用于流式查询,这个接口继承了 java.io.Closeable 和 java.lang.Iterable 接口,由此可知:Cursor 是可关闭的;Cursor 是可遍历的。Cursor提供如下方法:1、isOpen():用于在取数据之前判断 Cursor 对象是否是打开状态。只有当打开时 Cursor 才能取数据;2、isConsumed():用于判断查询结果是否全

2021-07-20 14:10:24 835 2

原创 idea识别maven项目

解决办法是选中pom.xml文件,右键-"add as maven project"

2021-06-11 15:01:05 891

原创 @SpringBootApplication注解详情记录仪

(一)、@ComponentScan 注解@ComponentScan这个注解在Spring中很重要,它对应XML配置中的元素,@ComponentScan的功能其实就是自动扫描并加载符合条件的组件(比如@Component和@Repository等)或者bean定义,最终将这些bean定义加载到IoC容器中。我们可以通过basePackages等属性来细粒度的定制@ComponentScan自动扫描的范围,如果不指定,则默认Spring框架实现会从声明@ComponentScan所在类的packa

2021-05-18 11:13:31 93

原创 redis的分布式锁和redisson

setnx(key, value):“set if not exits”,若该key-value不存在,则成功加入缓存并且返回1,否则返回0。get(key):获得key对应的value值,若不存在则返回nil。getset(key, value):先获取key对应的value值,若不存在则返回nil,然后将旧的value更新为新的value。expire(key, seconds):设置key-value的有效期为seconds秒。...

2021-05-18 11:02:43 293

原创 mysql死锁

查询死锁的表show OPEN TABLES where In_use > 0查询进程show full processlist杀死进程kill idnavicat操作(1)SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX; # 查找mysql 线程(2)kill id; #id 为 上一步查询 的 trx_mysql_thread_id 字段...

2021-05-07 15:24:42 186

原创 spring Cache的缓存记录

使用Spring Cache需要我们做两方面的事:n声明某些方法使用缓存n配置Spring对Cache的支持和Spring对事务管理的支持一样,Spring对Cache的支持也有基于注解和基于XML配置两种方式。下面我们先来看看基于注解的方式。1基于注解的支持 Spring为我们提供了几个注解来支持Spring Cache。其核心主要是@Cacheable和@CacheEvict。使用@Cacheable标记的方法在执行后Spring ...

2020-11-25 10:41:02 934

原创 mysql设置外键的问题记录

外键解释Navicat设置外键时 设置外键的界面,一共有七列。简单介绍一下这几列的意思。‘name’:可以不填,你一会保存成功系统会自动生成。‘FieldName’:就是你要把哪个键设置为外键。这里选择‘parent_dept_id’‘ReferenceDadaBase’:外键关联的数据库。‘ReferenceTable‘:关联的表这里是department表‘ForginfiledNames’:关联的的字段,这里是id‘ondelete’:就是删除的...

2020-11-24 15:07:10 166

转载 NIO记录

NIO—NonBlocking IO(new IO)io面向流编程,只能作为输入或者输出流的一种,是同步阻塞的,每一个连接过来都要创建一个线程去处理,线程上下文切换开销很大,造成了很大的瓶颈 于是有了线程池实现的伪阻塞IO,一定程度解决了线程创建过多的问题,但是没有从根本上解决阻塞的问题,并且线程过多而线程池过小时也会造成很大的瓶颈 既然根本瓶颈原因是线程数和阻塞IO,那么我们有没有办法只用1个线程去处理多个客户端连接呢?这就是NIO出现的原因NIO主要有三个核心部分组成:buffer缓冲区

2020-09-14 16:17:15 127

原创 java导出多个sheet的excel

public void selectCountExcel(HttpServletResponse response) { try { ServletOutputStream outputStream = response.getOutputStream(); response.setContentType("xls/xlsx"); response.setCharacterEncoding("utf-8"); .

2020-08-18 16:25:59 715

原创 sql时间转换记录

时间——>字符串select date_format(now(), '%Y-%m-%d %H:%i:%s');-- 结果:2018-05-02 20:24:10时间——>时间戳select unix_timestamp(now());-- 结果:1525263383时间戳——>字符串select from_unixtime(1525263383, '%Y-%m-%d %H:%i:%s');-- 结果:2018-05-02 20:24:10时间戳——.

2020-07-14 10:15:42 161

原创 http请求记录post请求设置参数格式及传入参数

<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.5</version> </dependency>http请求设定参数格式,传入必须参数//设置Ht..

2020-06-25 19:41:12 3674

原创 字段bean映射转换,http请求接受到的对象内值为空,jsonbject转换string成对象时为空问题

@JSONField(name = "MSGID")@JsonProperty(value = "MSGID")private String MSGID;JSONField用作string转对象时字段为空,应该字段不能正确映射,我设置的都是大写,lombok会将字段按驼峰命名转换,使字段映射失败。JsonProperty我是用作前段传值时是list中包含对象,后端接受list的对象,发现所有list中的对着字段都为空,加入这注解映射前段字段...

2020-06-23 18:58:40 469 1

原创 spring boot整合kafka记录

pom文件<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency>

2020-06-19 13:03:19 168

转载 spring boot+mybatis plus启动报错,bean未注入(java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal)问题

Caused by: java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native...

2020-06-18 11:26:18 611

原创 mysql记录sql语句记录细节

1、查询SQL尽量不要使用select *,而是select具体字段。反例子:select * from employee;正例子:select id,name from employee;理由:只取需要的字段,节省资源、减少网络开销。select * 进行查询时,很可能就不会使用到覆盖索引了,就会造成回表查询。2、如果知道查询结果只有一条或者只要最大/最小一条记...

2020-05-08 15:49:40 347

原创 sh脚本检测线程定时重新唤起

sh脚本检测线程是否存在,如果不存在重启,定时器定时检测注意sh脚本不能再window下写会出现错误,必须在linux环境下通过命令创建文件 touch hello.shexport JAVA_HOME=/usr/local/java/export JRE_HOME=$JAVA_HOME/jrejar_name=/local/xxl-job-admin-2.1.2-SNAPS...

2020-04-17 14:31:01 315

原创 Condition接口记录

Condition接口常用方法 condition可以通俗的理解为条件队列。当一个线程在调用了await方法以后,直到线程等待的某个条件为真的时候才会被唤醒。这种方式为线程提供了更加简单的等待/通知模式。Condition必须要配合锁一起使用,因为对共享状态变量的访问发生在多线程环境下。一个Condition的实例必须与一个Lock绑定,因此Condition一般都是作为Lock...

2020-04-15 11:08:14 158

原创 Callable与Runnable的区别记录

接口定义#Callable接口public interface Callable<V> { V call() throws Exception;}#Runnable接口public interface Runnable { public abstract void run();}相同点都是接口都可以编写多线程程序都采用Thr...

2020-04-14 17:39:07 353

原创 递归操作记录

private List<SmsTag> parentSmsTag(Long parentId,List<SmsTag> smsTagList){ List<SmsTag> returnList = new ArrayList<>(); for (SmsTag smsTag : smsTagList){ ...

2020-04-14 12:40:56 195

原创 启动jar命令记录

ava-jarXXX.jar特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出java-jarXXX.jar&&代表在后台运行。特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。nohupjava-jarXXX.jar&nohup意思是不挂断运行命令,当...

2020-04-01 14:14:07 373

转载 Spring Boot缓存注解@Cacheable、@CacheEvict、@CachePut使用

从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保证我们缓存的方法对...

2020-03-31 14:14:44 242

原创 spring集成mongodb聚合操作记录

导入mongodbjar,配置xml文件控制器聚合操作记录 @GetMapping("/selectCountExcel") @RequiresPermissions("sms:view") public void selectCountExcel() { try { Aggregation aggregatio...

2020-03-27 15:49:20 296

原创 spring集成excel导出

xml文件导入jar <dependency> <groupId>com.wuwenze</groupId> <artifactId>ExcelKit</artifactId> <version>2.0.7</version> ...

2020-03-27 15:39:49 405

原创 springboot启动时执行任务CommandLineRunner,项目启动后执行

SpringBoot中CommandLineRunner的作用> 平常开发中有可能需要实现在项目启动后执行的功能,SpringBoot提供的一种简单的实现方案就是添加一个model并实现CommandLineRunner接口,实现功能的代码放在实现的run方法中# 简单例子package org.springboot.sample.runner;import org.spring...

2020-03-23 15:58:46 1304

原创 百度云服务器搭建记录

查训服务器是否是6.5——64位,如下在实例中查训信息yum第一步:http://mirrors.163.com/centos/6/os/x86_64/Packages/下载以下包,版本可能会更新注意版本可能和图不一样,启动时也要注意,使用下载的版本启动 python-iniparse-0.3.1-2.1.el6.noarch.rpm ...

2020-03-03 17:24:19 564

转载 @Pointcut 使用@annotation 带参数

AOP的基本概念 Advice(通知、切面): 某个连接点所采用的处理逻辑,也就是向连接点注入的代码, AOP在特定的切入点上执行的增强处理。 1.1 @Before: 标识一个前置增强方法,相当于BeforeAdvice的功能. 1.2 @After: final增强,不管是抛出异常或者正常退出都会执行. 1.3 @AfterReturning: 后置增强,似于AfterRetur...

2020-02-10 17:16:40 5050

原创 高并发的三把利器:缓存、限流、降级

缓存,降级和限流是大型分布式系统中的三把利剑。目前限流主要有漏桶和令牌桶两种算法。缓存:缓存的目的是减少外部调用,提高系统响速度。俗话说:"缓存是网站优化第一定律"。缓存又分为本机缓存和分布式缓存,本机缓存是针对当前JVM实例的缓存,可以直接使用JDK Collection框架里面的集合类或者诸如Google Guava Cache来做本地缓存;分布式缓存目前主要有Memcached,Red...

2020-02-10 17:04:37 986 1

原创 mongodb第一次操作记录

spring boot项目中集成mongodb导入maven jar<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifa...

2020-01-17 09:55:52 260

原创 RAS生成非对称加密公私钥Base64转换显示

测试main方法package RSA;import java.security.KeyPair;import java.security.PrivateKey;import java.security.PublicKey;/** *功能描述 * @author kangjinfan * @date 2020/1/2 */public class Base64Main {...

2020-01-02 14:37:08 963

转载 ExecutorService 使用记录介绍

一 Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。...

2019-12-27 14:30:05 321

原创 spring集成redis配置单机和集群

maven,第一个是spring自带的redis,第二个jedis配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactI...

2019-12-26 09:39:38 712

原创 xxl-job部署记录

服务端官网:https://www.jianshu.com/p/fa7186bea84b源码:https://github.com/xuxueli/xxl-job/下载后配置一些本地的数据库导入sql如图启动就行http://localhost:8080/xxl-job-admin 登陆账号:admin;密码:123456先建立执行器在建立任务...

2019-12-23 16:37:49 654

转载 springBoot框架分布式部署定时任务重复执行之解决方案

在集群模式部署服务端时,会出现所有的定时任务在各自的节点处均会执行一遍,这显然不符合实际的开发场景,针对这种问题,本文给出一种springboot集成shedlock的解决方案第一步:引入相关包;<!-- 负载均衡定时任务执行一次 --><dependency> <groupId>net.javacrumbs.shedlock<...

2019-12-06 16:50:11 3397

空空如也

空空如也

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

TA关注的人

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