芳華Youthred

Just writing

Springboot自定义URL接口权限拦截管理

// todo

JSch多层跳板机执行远程命令

仿照 JSch官网JumpHosts示例代码 编写工具类 POM dependencies 需要注意的是,至本片文章编写之日,JSch 版本 0.1.53 及以下都已发现 漏洞 。最新 0.1.55 无漏洞。 1 2 3 4 5 6 7 8 9 10 11 12 13 <dependency> <groupId>org.apache.comm...

SpringCloudGateway+Nacos+OAuth2

POM 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 ...

使事务注解@Transactional和MybatisPlus的@DS多数据源切换同时生效

之前做项目的时候使用MyBatisPlus的多数据源dynamic-datasource-spring-boot-starter,发现无法使事务@Transactional和多数据源@DS注解同时生效。 查阅文档后得知须在事务注解上指定事务传播方式: 1 2 3 4 5 // org.springframework.transaction.annotation.Transactional...

FilesPaths操作大文本文件

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69...

Logback自定义过滤器实现日志的WebSocket前端输出

自定义实现WebSocket前端日志输出,最开始想的是读日志文件,但这样太不优雅,操作文件尤其是日志文件的效率又很低。所以找到了ch.qos.logback.core.filter.Filter。 实现WebSocket服务端 Netty服务端 WsSer 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2...

利用枚举实现类似工厂模式的自动装配

利用枚举实现接口的方式可以达到类似工厂模式一样的自动装配体验

一般使用枚举的普通用法就是switch case,但其类型一旦多起来也不太方便不便维护。 使用实现接口的方式可以达到类似工厂模式一样的自动装配体验。 假定需求:要求从配置文件读取时间配置如“1年”、“5天”或“2周”等数据,取出以当前时间为基准的“1年前”或“1月前”的某某数据。 定义一个日期单位枚举。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1...

SpringBoot @PropertySource自定义配置yml文件

有时候同一类配置需要单独使用一个配置文件,这个注解`@PropertySource`可以简单快速的实现。

有时候同一类配置需要单独使用一个配置文件,这个注解@PropertySource可以简单快速的实现。 1 @PropertySource(value = {"classpath:custom.properties"}) 对于YAML格式也是可以解析的,但需要实现PropertySourceFactory。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

Elasticsearch date类型Java和DSL查询格式问题

在es里查询条件`date`类型的字段时,比如`range`查询,若格式化设为`yyyy-MM-dd HH:mm:ss`,则传入的`gte`等参数默认只接受这个格式的字符串。如果传入时间戳的`long`值,则需指定format为`epoch_millis`”,两种参数意义一样,只在形式不同,但其查询结果却不一致。

ES版本6.7.1,Java rest-high-level-client版本6.7.2 在es里查询条件date类型的字段时,比如range查询,若格式化设为yyyy-MM-dd HH:mm:ss,则传入的gte等参数默认只接受这个格式的字符串。 如果传入时间戳的long值,则需指定format为epoch_millis”,两种参数意义一样,只在形式不同,但其查询结果却不一致。 ...

IDEA添加本地jar包并使用maven打包

如何在IDEA引入了本地jar包的情况下使用maven插件打包

之前写过一篇,今天记录另一种更简洁的,如何在IDEA引入了本地jar包的情况下使用maven插件打包 打开Project Structure 选择本地jar包所在目录并确认应用,这里我在当前项目下新建了名为lib的Directory,本地jar包都移到这里面 完成后就可以看见已经成功引入本地jar包 然后转到Modules 可以看到当前模块的依赖就有了刚刚添加的本地ja...