![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
项目
kangfu_521
不忘初心,方得始终。
展开
-
SpringBoot导入和导出Csv文件
csv原创 2023-03-12 22:20:03 · 634 阅读 · 0 评论 -
springboot项目的jar瘦身使用 java -Dloader.path=./lib
jar瘦身java -Dloader.path=./lib -jar XXX.jar原创 2023-02-11 17:34:21 · 682 阅读 · 1 评论 -
不同环境配置 配置文件与项目分离
配置分离原创 2023-02-11 17:26:10 · 174 阅读 · 0 评论 -
VLOOKUP函数
execl原创 2022-06-06 17:35:17 · 198 阅读 · 0 评论 -
aop实现接口幂等性
aop实现接口幂等性原创 2022-06-04 20:03:32 · 624 阅读 · 0 评论 -
注解实现全局日志记录
1:自定义注解2:切面获取参数3:请求添加注解验证获取参数原创 2022-06-03 19:57:55 · 445 阅读 · 0 评论 -
idea快速搭建项目
springboot原创 2022-06-03 10:03:46 · 155 阅读 · 0 评论 -
清空某一topic数据清空
kafka全部数据清空与某一topic数据清空某一topic数据清空查看当前所有topicbin/kafka-topics.sh --list --zookeeper 12.23.109.50:31001比如目前需要删除test这一topic,目前kafka_2.11-1.1.1以上版本默认delete.topic.enable=true,即是说使用命令./kafka-topics.sh --zookeeper node1:2181 --delete --topic test该命令将会在原创 2022-03-16 21:09:40 · 3824 阅读 · 0 评论 -
工具类commons-lang3(常用)
工具类commons-lang3(常用)https://www.jianshu.com/p/1886903ed14c<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3<原创 2022-01-08 14:31:04 · 913 阅读 · 0 评论 -
DQL,DML,DDL,DCL,TCL区别
SQL中DQL,DML,DDL,DCL,TCL的区别dba拥有所以权限;普通应用拥有dml;只读账号需要授权查询,ower用户执行授权语句,同义词,给用户teacher授予系统的create session权限grant create session to TEACHER;DCL权限授权表操作grant insert,update,delete,select on ower.table to app;授权执行存储过程grant execute on ower.start to原创 2022-01-01 14:11:30 · 457 阅读 · 0 评论 -
SpringBoot中使用多线程开启并行任务
SpringBoot中使用多线程开启并行任务定时调度,每天23点执行一次:0 0 23 * * ?设置总开关,根据配置表增加数据,判断是否调用存储过程,并行执行存储过程。执行成功后修改配置表;定时更新数据,并保留轨迹;获取异步方法返回值CompletableFuture是对Feature的增强,Feature只能处理简单的异步任务,而CompletableFuture可以将多个异步任务进行复杂的组合。如下:@RestControllerpublic class AsyncControl原创 2021-12-19 20:49:21 · 2322 阅读 · 0 评论 -
SpringContextHolder工具类获取spring对象
SpringContextHolder工具类获取spring对象通过springContextHolder静态注入实体Bean1.工具类用途?该工具类主要用于那些没有归入spring框架管理的类却要调用spring容器中的bean提供的工具类,在spring中要通过IOC依赖注入来取得对应的对象,但是该类通过实现ApplicationContextAware接口,以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何时候中取出ApplicaitonConte原创 2021-12-04 19:58:46 · 1267 阅读 · 0 评论 -
在SpringBoot中通过jasypt进行加密解密的方法
在SpringBoot中通过jasypt进行加密解密的方法在SpringBoot中,通过jasypt可以进行加密解密. 这个是双向的, 且可以配置密钥.加密使用步骤1:引入依赖<!-- 数据库加密 --> <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-bo原创 2021-11-21 21:38:50 · 895 阅读 · 0 评论 -
System.currentTimeMillis()会重复吗
原子操作类AtomicInteger详解参考https://blog.csdn.net/fanrenxiang/article/details/80623884生成12位连续数字 for (int i = 0; i < 10; i++) { System.out.println(extracted12()); } private static AtomicInteger ato = new AtomicInteger(0)原创 2021-11-21 19:00:28 · 1865 阅读 · 0 评论 -
@Transactional注解Spring Boot 事务方法调用
@Transactional注解 事务方法调用总结,事务方法调用非事务方法-生效非事务方法调用事务方法-不生效事务方法调用非事务方法(相同类下)import edu.haut.springboottest.entity.TestTable;import edu.haut.springboottest.mapper.TestTableMapper;import org.springframework.stereotype.Service;import org.springframework原创 2021-11-21 12:06:20 · 1015 阅读 · 0 评论 -
springboot 注解@Transactional失效的原因
springboot 注解@Transactional失效的原因参考源码分析https://blog.csdn.net/oyc619491800/article/details/105826597一:声明式事务@Transactional二:注解@Transactional使用三:常用,使用该注解时,记得加异常回滚,readOnly 属性readOnly :指定事务是否为只读事务,默认值为 false;为了忽略那些不需要事务的方法,比如读取数据,可以设置read-only 为 t原创 2021-11-21 11:57:41 · 12820 阅读 · 0 评论 -
枚举的简单使用
枚举的简单使用有的时候一个类的对象是有限且固定的,这种情况下我们使用枚举类就比较方便方法名称 描述values() 以数组形式返回枚举类型的所有成员valueOf() 将普通字符串转换为枚举实例compareTo() 比较两个枚举成员在定义时的顺序ordinal() 获取枚举成员的索引位置public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("原创 2021-11-07 20:38:27 · 72 阅读 · 0 评论 -
全局唯一id生成之雪花算法(Twitter_Snowflake)
雪花算法如上图:雪花算法生成的id,总共64位第一位作为保留位,默认0中间41位用来存放时间戳,是当前时间与初始时间的差值,(1L << 41) / (1000L * 60 * 60 * 24 * 365) = 69年后10位是机器id,可满足同时(1L << 10) = 1024个机器同时生成id最后12位作为随机序列,每个机器,每毫秒可生成(1L << 12) = 4096个不同的值使用:可配置工作机器id:workerId(0-31)最大31;数原创 2021-11-06 17:31:04 · 714 阅读 · 0 评论 -
java.nio.charset:Input length = 1异常
Java NIO 报java.nio.charset.MalformedInputException: Input length = 1异常1:当使用decoder.decode方法时,会抛异常。2: 查了api,如开头的截图“当输入的字节数组对于给定的charset是非法的,3:或者给定的输入字节数组不是16位的Unicode数组时,就会抛出异常”我理解的意思是,4:把utf8格式的中文转换成gbk的字符缓冲时,对于gbk,这个utf8字节缓冲三个字节一个汉字,然而gbk是两个字节一个汉字,因原创 2021-10-29 12:21:19 · 6206 阅读 · 0 评论 -
SpringBoot启动时将数据库数据加载到内存的静态map里
SpringBoot启动时将数据库数据加载到内存的静态map里实现CommandLineRunner接口实现CommandLineRunner接口,@Order注解里面的参数是类执行的顺序,由小到大顺序。监听接口方式,启动服务,执行方式时仍然提供服务,服务初始化之后,执行方法。@Componentpublic class SettingConfig implements CommandLineRunner {public static Map<String,Object>=ne原创 2021-10-25 21:14:18 · 1811 阅读 · 0 评论 -
idea保存不了
idea保存不了,修改以下配置,把对号取消,就行,重启idea即可原创 2021-10-24 21:33:52 · 11687 阅读 · 3 评论 -
jasypt对springboot加密使用
jasypt对springboot加密使用1.版本说明及引用因为考虑到我的项目springboot-boot-starter是2.3.3RELEASE版本,所以关于jasypt使用的是jasypt-spring-boot-starter2.1.2版本。即<!-- https://mvnrepository.com/artifact/com.github.ulisesbocchio/jasypt-spring-boot-starter --><dependency>原创 2021-10-01 19:33:45 · 543 阅读 · 0 评论 -
前端页面部署在nginx以及下发数据处理方案
前端页面部署在nginx文档https://www.runoob.com/linux/nginx-install-setup.html安装 Nginx,wget http://nginx.org/download/nginx-1.6.2.tar.gzhttp://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz前台部署在nginx,配置在etc配置文件下,下载,编译,培训监听,修改启动路径,修改首页,路原创 2021-09-24 20:34:17 · 190 阅读 · 0 评论 -
调用接口后返回403解决方法,以及git清除账户信息
调用接口后返回403解决方法常见的错误码200 OK 请求成功。一般用于GET与POST请求201 Created 已创建。成功请求并创建了新的资源202 Accepted 已接受。已经接受请求,但未处理完成203 Non-Authoritative Information 非授权信息。请求成功。但返回的meta信息不在原始的服务 器,而是一个副本204 No Content 无内容。服务器成功处理,但未返回内容。在未更新网页的原创 2021-09-24 20:24:41 · 1387 阅读 · 0 评论 -
url开关设置
url开关设置原创 2021-09-02 11:38:22 · 96 阅读 · 0 评论 -
分布式事务的解决方案TCC
分布式事务的解决方案TCC参考https://blog.csdn.net/miaomiao19971215/article/details/117911483核心:增加中间阶段,所有的操作都执行成功,走confirm逻辑,否则回滚走cancel逻辑比如,1:库存服务,try 库存锁定10,增加冻结库存1,如果执行成功,confirm逻辑是库存减1,冻结库存变0,cancel逻辑库存不变10,冻结库存变0;2:积分服务,try 原积分 ,增加积分冻结,如果执行成功,confi原创 2021-08-31 22:14:11 · 81 阅读 · 0 评论 -
springmvc 利用AOP实现多数据源动态切换
分享:springmvc 利用AOP实现多数据源动态切换多数据源说白了就是项目里连接多个数据库;常见于分库查询(主从库),分库操作-增删改查(多库多表)等。参考:https://blog.csdn.net/lovebosom/article/details/100525455?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242https://blog.csdn.ne转载 2021-03-08 11:29:11 · 246 阅读 · 0 评论 -
Mybatis Error attempting to get column xx. (数据类型转换错误)
Error attempting to get column ‘type’ from result set. Cause:常见的是问题出在某个property与column不匹配。根据提示的列去比较是否异常执行的sql结果集,,ResultMap中是否有多个字段的column错误配置了该列、导致类型不匹配。异常原因:单次执行查询没有问题,200个并发时会报以上的某个字段错误。(会出现不同字段异常)分析单次查询无报错是程序没有问题,高并发下会报错由于导出对数据大量的操作,频繁GC原创 2020-12-23 21:11:37 · 2207 阅读 · 0 评论 -
mysql占用CPU超过100%导致项目启动报错
mysql占用CPU超过100%导致项目启动报错项目执行一段sql后,导致mysql占用cpu飙升,导致项目报错,连接数据库异常。一、使用top命令看到的情况如下,查看mysql的cpu占用,情况二:show full processlist找出具体异常sql,分析数据量,以及优化sql.临时方案:先把异常查询表数据备份,再把表清空,然后在单独处理sql,参考https://blog.csdn.net/jimshen/article/details/78706538...原创 2020-12-23 20:36:41 · 174 阅读 · 0 评论 -
docker镜像中常用命令
docker镜像中进入容器命令行1:查看docker ps 镜像信息查看所有安装的软件docker ps可以看到docker中每个容器的状态,id,端口等等,复制MySQL容器的id,即CONTAINER ID (或者容器的name也可以)2:启动dockerdocker start + CONTAINER ID (或者容器名)例如我的:docker start a10c3f1240bb等价于:docker start mysql3:进入具体的镜像 docker exec -原创 2020-11-21 22:49:55 · 221 阅读 · 0 评论 -
ExpiringMap工具类设置失效时间
ExpiringMap工具类设置失效时间地址github地址:https://github.com/jhalterman/expiringmap/1.可以设置过期时间,根据设置的是使用或者创建时间过期,可以很方便。对于在内存中使用很方便。public class CacheUtil {private static ExpiringMap<String,String> map =ExpiringMap.builder() .maxSize(5000)原创 2020-11-13 22:08:01 · 835 阅读 · 0 评论 -
过滤器设置报头x-Frame-Options限制iframe网页嵌套
过滤器设置报头x-Frame-Options限制iframe网页嵌套目的设置X-Frame-Options SAMEORIGIN1:web.xml增加过滤器<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"原创 2020-11-13 21:47:39 · 969 阅读 · 0 评论 -
解决jquery版本过低引发的XSS跨站安全漏洞
解决jquery版本过低引发的安全漏洞测试网站是否存在此XSS跨站漏洞:以google浏览器为例,打开要测试的网站,在Console窗口输入:$.fn.jquery回车查看版本号$(“element[attribute=’<img src=123123 οnerrοr=alert(123)>’”);回车之后会出现弹窗,说明存在XSS跨站漏洞漏洞原因:1.x系列版本等于或低于1.12的jQuery,和2.x系列版本等于或低于2.2的jQuery,过滤用户输入数据所使用的原创 2020-11-13 21:24:46 · 13968 阅读 · 0 评论 -
security-constraint解决-启用不安全的http方法
security-constraint解决-启用不安全的http方法拦截具体的接口,避免一些不合规的方式直接请求攻击<security-constraint> <web-resource-collection> <web-resource-name>securityUrl</web-resource-name> <url-pattern>/home.do&l原创 2020-11-13 21:10:58 · 2160 阅读 · 0 评论 -
Session的超时时间设置,避免占用系统过多资源
Session的超时时间设置,避免占用系统过多资源Session的超时时间设置,避免其他用户使用一些违规操作,a用户未关闭窗口,b用户在a登入的情况操作等方案一:针对具体的请求设置超时时间;在Servlet代码中,使用HttpSession对象的方法setMaxInactiveInterVal(int)设置一个会话维持非活动状态的最大秒数public void doGet(HttpServletRequest req,HttpServletResponse res) throwsServ原创 2020-11-13 20:56:14 · 1764 阅读 · 0 评论 -
防止SQL注入-字符串过滤法
防止SQL注入-字符串过滤法例如SELECT * FROM user_table WHERE username=‘’ or 1 = 1 – —and password=’’危害通过SQL语句,实现无帐号登录,甚至篡改数据库。方案一:通常预编译处理。setParemsql注入只对sql语句的准备(编译)过程有破坏作用而PreparedStatement已经准备好了,执行阶段只是把输入串作为数据处理,而不再对sql语句进行解析,准备,因此也就避免了sql注入问题.方案二:字符原创 2020-11-13 20:45:27 · 2936 阅读 · 1 评论 -
Springboot项目启动时将数据缓存map中
Springboot项目启动时将数据缓存map中,测试通过注意点注意项目启动时容器对象还未初始化完成,不能用 @Autowired注入import javax.annotation.PostConstruct;import javax.annotation.PreDestroy;import java.util.HashMap;import java.util.List;import java.util.Map; @Componentpublic class CodeCache {原创 2020-11-09 21:30:28 · 3181 阅读 · 1 评论 -
SpringBoot不同服务间配置跨域请求
SpringBoot不同服务间配置跨域请求跨域浏览器同源策略的影响,不是同源的脚本不能操作其他源下面的对象。想要操作另一个源下的对象就需要跨域。 在同源策略的限制下,非同源的网站之间不能发送 AJAX 请求。一:全局配置package com.song.songvue.config; import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.conf原创 2020-11-08 00:31:23 · 277 阅读 · 1 评论 -
springboot 配置mybatis打印sql
springboot 配置mybatis打印sql方式 一:application.properties###########################################################配置打印sql#############################//包路径为mapper文件包路径logging.level.com.example.demo.dao=debug打印sql application.ymllogging:level:com.原创 2020-11-08 00:17:50 · 1741 阅读 · 0 评论 -
Java中char和byte转换,编解码加密
Java中char和byte转换方式一:同一个类Charset 中完成编解码操作Charset charset = Charset.forName("UTF-8");ByteBuffer byteBuffer = charset.encode(string);CharBuffer charBuffer = charset.decode(byteBuffer);方式二:同一个类ByteBuffer中提供一种char和byte之间的软转换它们之间转换不需要编码与解码,只是把一个16bit的c原创 2020-10-26 20:58:20 · 427 阅读 · 0 评论