芳華Youthred

Just writing

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...

GIT优雅设置

官方中文文档 重点关注 账号相关 1 2 $ git config --global user.name "John Doe" // 设置全局用户名 $ git config --global user.email johndoe@example.com // 设置全局邮箱 文件换行符推荐设置 1 2 $ git config --global core.autocrlf inp...

一些好用的Java工具库

1. Java自带 1.1 List集合拼接成以逗号分隔的字符串 1 2 3 4 5 6 7 8 // 如何把list集合拼接成以逗号分隔的字符串 a,b,c List<String> list = Arrays.asList("a", "b", "c"); // 第一种方法,可以用stream流 String join = list.stream().colle...

Spring获取表单传输的所有数据,包括所有文本字段和所有文件字段

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...

配置IDEA默认代码作者

-Duser.name

IDEA安装目录下,使用文本编辑器打开~/bin/idea64.exe.vmoptions文件 在最后添加:-Duser.name=Your name 保存重启IDEA,Done

MySQL集合查询all_elements_are_null

今天用CollectionUtils判断集合是否为空时发现个奇怪的查询数据:集合size=1,展开后提示“all elements are null”,SQL单独查询是空的。 就很奇怪,为什么SQL查出来一条都没有但代码里size=1还all elements are null。 Google了一下,都是说映射字段名称的问题,都试过也不对。 我这里的数据库是MySQL8,中间件是MyBa...