自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阅微草堂

纸上得来终觉浅,绝知此事要躬行

  • 博客(87)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 sprinbboot 2.7启动不生成日志文件

新增了一个springboot项目,通过idea 调试,并且在idea 的vm options中指定-Dlogging.config=classpath:logback-pro.xml 或者 -Dlogging.config=classpath:logback-dev.xml 都能正常生成对应的日志文件。问题依旧,于是猜测应该是启动的时候,没加载到指定的配置,试着把-Dlogging.config=classpath:logback-pro.xml 提到 -jar 前,结果也终于达到预期。

2023-10-27 00:57:25 4027

原创 springboot 2.7 文件上传采坑Required request part ‘file‘ is not present

由于是采用form-data 格式:multipart/form-data,初步分析是 springboot 在接收到fileList时,form表单的格式无法解析为json序列化,具体还待后面细分析。spring.mvc.hiddenmethod.filter.enabled=true配置,默认为false, 在springboot的旧版本中,默认是true.本意是多文件批量上传,如此不行,则继续单文件上传,转换思路是把多文件压缩为zip文件,然后服务端接收到后,再行解压,即可。

2023-10-13 01:01:04 3891

原创 springboot2.6.4 集成freemark(404问题,只返回模板名称问题)

同时需要特别注意,如果test.ftl 文件在目录resources/templates/的下一级目标,比如在目录resources/templates/ftl/目录下,则controller的返回模板要携带该路径:为。查阅了其他文章,说是springboot自2.2以后,模板的后缀改为.ftlh了。但是我在命名模板为test.ftlh时,仍然报404,后修改为test.ftl 正常了。问题2:get请求过程中,返回结果类型为 test(模板名称),而非test.ftl的模板内容。如上,即可正常启动。

2023-07-23 02:12:33 3296

原创 Sublime Text 正则表达式处理

按钮以启用正则表达式模式。4. 在查找面板中,输入匹配您想要删除的特定文字的正则表达式模式。例如,如果您想要删除包含单词"example"的行,可以使用模式。Sublime Text会高亮显示所有匹配模式的行。1. 打开Sublime Text。sublime 正则表达式匹配不含指定文字删除行。3. 在查找面板上方,点击。选择所有高亮显示的行。匹配指定文字结尾 空行替换。匹配包含指定文字 空行替换。

2023-07-12 16:43:58 3586

原创 FeignClient动态参数之坑--

关键实现链路,后面在具体分析。注解在classs上的处理。注解在method的处理。

2023-06-08 11:39:24 695

原创 谷歌版ChatGPT申请:bard isn’t currently supported in your country. stay tuned!

谷歌版ChatGPT申请:bard isn’t currently supported in your country. stay tuned!

2023-03-22 07:59:02 9902 1

原创 FeignClient默认连接方式HttpURLConnection之坑---get请求变为post,访问405

在项目中,使用feignClient 进行http 服务调用,feignClient的默认连接方式为HttpURLConnection,因为HttpURLConnection没有连接池,并发高的时候,会有一定的网络开销,在做项目优化的时候,替换改为okHttp以便复用其连接池。我们作为调用方,表象是用的get请求,实际走的是post请求,所以没有影响,后面改为okHttp后,okHttp不会做这种特殊的转换,所以我们的请求还是get请求,故而就会有问题了。

2023-03-14 23:09:16 1641

原创 CentOS7安装Cockpit网页版图像化服务管理工具

CentOS7安装Cockpit网页版图像化服务管理工具

2022-12-11 22:41:31 2221

原创 IDEA: the file too large: showing a read-only && This view is read-only

IDEA: the file too large: showing a read-only && This view is read-only,idea 文件太大,导致文件只读不能打开

2022-11-28 22:13:12 2936

原创 spirngboot项目.mvn/wrapper/maven-wrapper.properties‘ does not exist.

Exception in thread "main" java.lang.RuntimeException: Wrapper properties file '~/.mvn/wrapper/maven-wrapper.properties' does not exist. at org.apache.maven.wrapper.WrapperExecutor.forWrapperPropertiesFile(WrapperExecutor.java:54)

2022-11-21 04:15:57 3372

原创 awk 统计日志中的ip和userId--分析用户恶意刷接口行为

awk 统计日志中的ip和userId--分析用户恶意刷接口行为

2022-08-06 23:06:23 443

原创 年金函数: PMT的java 实现

年金函数: PMT的java 实现

2022-07-16 19:31:42 1075

原创 frp内网穿透

实现内网穿透的几种思路:电信公网ip,花生壳,net123 ,frp

2022-07-12 01:44:58 512

原创 shell获取指定进程名称的pid

主要是根据命令: jps -l | grep 进程名称, 来实现sysapp$ jps -l11943 sun.tools.jps.Jps16463 org.logstash.Logstashsysapp$ jps -l | grep Logstash16463 org.logstash.Logstash通过shell脚本执行,则可获得APP_PID为16463#!/bin/bashset -euo pipefail# 填写自己要过滤的进程名称APP_PID...

2022-05-30 01:33:20 6261 4

原创 InvalidDefinitionException: No serializer found for class java.lang.Object and no properties discove

使用springcloudgateway 搭建项目后,写个test验证返回响应,响应结果报如下错误:{ "timestamp": "2022-04-08T14:21:45.160+0000", "path": "/tech/health/check", "status": 500, "error": "Internal Server Error", "message": "Type definition error: [simple type, class .

2022-04-09 22:18:02 11521 3

原创 idea 重新下载jar包

maven 依赖的jar包,很多时候,同一个jar包会存在多个版本,删除其中一个后,重新编译,会把旧jar 由加载回来了方式一:对maven reimport方式 二:在命令行,直接执行以下命令mvn -U idea:idea

2022-01-24 04:40:34 2904

原创 HttpServletRequest在spring中获取及使用

一般在controller 中直接获取:HttpServletRequestHttpServletRequest 是线程安全的,所以在service层可以直接通过注入使用@Autowiredprivate HttpServletRequest servletRequest;业务逻辑中,也可通过RequestContextHolder 获取ServletRequestAttributes requestAttributes1 = (ServletRequestAttributes)..

2022-01-23 22:11:21 1565

原创 redis 基于时间窗口的限流

public boolean limitRateActionAllowed(LimitRateActionEnum actionKeyEnum, String keyParam, int period, int maxCount) { // 生成唯一的key actionKeyEnum = actionKeyEnum == null ? LimitRateActionEnum.GENERATOR : actionKeyEnum; keyParam...

2021-12-06 20:50:09 684

原创 springboot 集成rabbtiMq

本文主要解决以下几个问题1、rabbtiMq的消息队列topic,交换器exchange和路由key routKey的概念及关系2、rabbitMq消息的生产和消费的规则逻3、springboot集成rabbitMq4、通过代码自动创建topic 、exchange、以及指定routKey绑定topic和exchange一、rabbtiMq的消息队列topic,交换器exchange和路由key routKey的概念及关系1、消息队列topic: 本质就是.........

2021-10-13 00:30:48 386

原创 springboot动态调整日志级别-LoggingSystem

在日常项目开发中,排查问题,通常第一步是根据日志定位问题,故而,我们总是会在关键节点,尽可能多的输出日志,但是一旦系统上线,大量的日志输出,明显会影响系统的性能。 通常,我们知道可以调整日志级别,在线上用更高的日志级别(info warn error),但是变更日志级别,总是需要重新发版,如果能动态调整日志级别,并实时生效,这不失为一个不错的办法。由此,springboot的LoggingSystem可以解决这个问题。具体用法如下: @Autowired pri...

2021-09-14 01:19:25 2035 2

原创 sshd:root@notty: linux 被暴力登录处理

一、背景今天打开自己的私有服务器,猛然间发现最近登录失败将近2000次,登录失败的ip134.209.236.115德国法兰克福。一顿吃鲸。。。。由于我是私有服务器,在进行外网和内网ssh的端口映射时已经提前改为非22端口了,这算是第一道防线。密码设置也相对复杂,所以比较幸运的是,还好还未被攻破,赶紧处理一番二、常规处理方案1、修改公网的端口和内网端口映射为不常见的端口(一般ssh端口默认是22)。如果是阿里、腾讯云服务,则可以变更ssh端口为非22端口.同时配置安全策略组。...

2021-08-19 00:56:23 12835

原创 Apache Doris-(官方文档)

官方文档:http://doris.apache.org/master/zh-CN/快速开始文档:http://doris.apache.org/master/zh-CN/installing/compilation.html

2021-08-12 00:35:58 6590 2

原创 TransmittableThreadLocal-可在父子线程中传递变量

ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal的区分及原理:推荐博文:Java 学习笔记(三)之 ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal作者结论总结:1) ThreadLocal 用来存储线程本地变量,仅是线程自己存储数据的,若一个线程要使用另一个线程存储在 ThreadLocal 变量,除非 存储在 ThreadLocal 中的 Va...

2021-08-06 05:59:18 334

原创 两个map的value 进行合并-Map的merge操作

public static void main(String[] args) { HashMap<String, List<Long>> failedMapSingle = Maps.newHashMap(); HashMap<String, List<Long>> failedMap = Maps.newHashMap(); failedMap.put("a", Lists.newArrayList(...

2021-07-01 15:46:49 1431

原创 springboot和springcloud 版本匹配

查看最新的springboot 和springcloud 版本匹配地址:https://start.spring.io/actuator/info当前版本匹配:"spring-cloud": { "Hoxton.SR11": "Spring Boot >=2.2.0.RELEASE and <2.3.11.BUILD-SNAPSHOT", "Hoxton.BUILD-SNAPSHOT": "Spring Boot >=2.3.11.BUILD-SNA...

2021-05-12 16:32:01 314

原创 python 精度及位数处理

1、其他博文说明的用法:设置 decimal.getcontext().prec = 3decimal.getcontext().prec = 3print(decimal.Decimal('2.3') / decimal.Decimal('3')) # 结果:0.767print(decimal.Decimal('1.22222') * decimal.Decimal('0.01')) # 结果:0.0122print(decimal.Decimal('1') / decimal.De...

2021-04-10 15:46:58 2040

原创 shell 循环执行sql脚本

线上批量更新,数量过多,流程上必须写脚本,就试着先写个简单的,逻辑: 每次更新一条,根据id逐条更新。后续其实可以优化为分页批量执行(limit x,y 或者 where id < last and id >= id +1000),效率会更高。#!/bin/bashi=1step=1#cnt=$(/usr/local/MySQL/bin/mysql -u root -p -Dtf_test -s -e "${cmd}")while (($i<=3))do ...

2021-03-10 15:47:14 2988

原创 java list对象去重

Category gc = new Category(); gc.setId(1L); gc.setCategroyName("name1"); Category gc2 = new Category(); gc2.setId(2L); gc2.setCategroyName("name2"); Category gc3 = new Category(); gc3.setId(1L); .

2021-02-02 16:29:38 362

原创 mybatis-plus 特殊用法小记

1、指定字段或者函数和条件进行查询查询条件可以按照mybatis-plus 的 wrapper 进行封装,然后使用@select 写函数 或者指定字段LambdaQueryWrapper<CouponReceiver> qw = Wrappers.lambdaQuery(CouponReceiver.class);qw.in(CouponReceiver::getCouponInfoId, couponIdList).groupBy(CouponUser::getCouponInf.

2020-12-23 01:13:32 499

原创 springboot + springDataJpa 用法小记

1、自定义查询语法进行分页定义 repository接口,同时继承JpaSpecificationExecutor,然后即可使用Repository.findAll(specification, pageable); 进行分页public interface IAppJdOrderRecordRepository extends JpaRepository<AppJdOrderRecord, Long>, JpaSpecificationExecutor<AppJ...

2020-12-23 00:56:07 248

原创 钉钉自定义机器人日志报警

引入钉钉的maven 依赖 <dependency> <groupId>com.aliyun</groupId> <artifactId>alibaba-dingtalk-service-sdk</artifactId> <version>1.0.1</version> <exclusions> ...

2020-12-18 10:42:21 850

原创 开发springboot start

springboot start的核心思想,就是针对spring的一些配置进行约定并封装,简化配置流程,方便项目直接引入和使用。我们在开发场景中,对于一个springboot start 模块,比较粗略的开发认知是:1、通过application.properties 或application.yaml 文件配置相关的 属性2、在实际业务中,注入 start的 service 方法,直接调用使用如此,自己动手开发一个start的核心流程:1、创建一个springboot 项目,引入.

2020-12-15 01:28:00 1024

原创 springboot自定义logbackAppender

1、背景:自定义appender, 针对日志级别,指定日志级别的输出,同时发送到钉钉,实现日志报警监控2、实现方式:以下两种方式,实现任意一个即可1)、 自定义Appender 继承UnsynchronizedAppenderBase<ILoggingEvent>extends UnsynchronizedAppenderBase<ILoggingEvent>具体实现:@Getter@Setterpublic class DingTalkA.

2020-12-15 00:55:53 4383

原创 springboot快速集成定时任务

1、启动类增加 @EnableScheduling 注解@SpringBootApplication@ComponentScan({"com.xxl.job.admin.controller","com.xxl.job.admin.core.conf","com.xxl.job.admin.localjob","com.xxl.job.admin.service"})@MapperScan("com.xxl.job.admin.dao")@EnableSchedulingpublic clas

2020-12-04 22:07:18 222 1

原创 springboot集成kafka + 多groupId 配置消费组

1、添加maven 依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency>2、配置producerimport org.apache.kafka.clients.prod...

2020-07-27 21:51:55 22052 4

原创 konga 连接postgresql 12+启动异常:error: column r.consrc does not exist

mac 环境下,konga 配合postgresql 启动,异常如下:A hook (`orm`) failed to load!error: column r.consrc does not exist at Connection.parseE (/Users/tangfeng/dev/github/konga/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:539:11) at Connection

2020-07-10 15:36:59 2623

原创 mac 安装Kong(二) could not find OpenResty ‘nginx‘ executable

mac 下安装kong(一)后来帮同事调试nginx ,又在本地单独装了 nginx ,于是把openresty给关闭了。验证完后,在重新启动openresty 和kong ,发现怎么也启动不起来了。# 启动kong kong start -c /etc/kong/kong.conf# 出现的异常Error: /usr/local/share/lua/5.1/kong/cmd/start.lua:41: could not find OpenResty 'nginx' executable

2020-07-07 11:23:44 1118

原创 mac 下安装kong(一)

官网:https://konghq.com/github:https://github.com/Kong可以在空的官方文档中,选择mac 环境安装,当然也可以选择其他模式的安装https://konghq.com/install/?itm_source=website&itm_medium=nav开源的kong 管理页面,非官方(两个都可以)kong admin:https://github.com/pocketdigikong-admin-uikongga:...

2020-07-07 11:12:56 1336

原创 一条命令替换mac的 homebrew 下载源

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"拷贝源:https://www.bilibili.com/video/av328392274/推荐的另一篇博文:Mac Homebrew 如何更换国内镜像源

2020-07-02 17:43:03 277 1

原创 crc32 散列均衡

应用场景中,需要让一些唯一的数据,散列均匀的分布在不同的桶中,或者hash槽中,从而可以验证一些AB test 场景。public static void main(String[] args) { List<Long> list = Lists.newArrayList(); List<Long> list0 = Lists.newArrayList(); List<Long> list1 = Lists.n.

2020-06-23 10:24:27 787

mybatis3实战开发文档,用户指南

mybatis3用户指南,翻译由南磊完成,共57页,侧重实战,值得学习参考。

2016-01-18

spring3.2.4+mybatis3.1.1 框架搭建

没有资源分下载的,可到我的博客阅读,上面也有详尽的代码http://blog.csdn.net/tangfeng61/article/details/50534043

2016-01-17

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

TA关注的人

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