摘要: 【进阶篇】使用 Stream 流和 Lambda 组装复杂父子树形结构 在最近的开发中,遇到了两个类似的需求:都是基于 Stream 的父子树形结构操作,返回 List 集合对象给前端。于是在经过需求分析和探索实践后有了新的认识,现在拿出来和大家作分享交流。 阅读全文
posted @ 2024-01-15 17:14 CodeBlogMan 阅读(1829) 评论(8) 推荐(7) 编辑
摘要: 【解决方案】MySQL 百万数据迁移到 ElasticSearch 的思考 在日常项目开发中,可能会遇到使用 ES 做关键词搜索的场景,但是一般来说业务数据是不会直接通过 CRUD 写进 ES 的。 因为这可能违背了 ES 是用来查询的初衷,数据持久化的事情可以交给数据库来做。那么,这里就有一个显而易见的问题:ES 里的数据从哪里来? 本文介绍的就是如何将 MySQL 的表数据迁移到 ES 的全过程。 阅读全文
posted @ 2023-12-06 15:23 CodeBlogMan 阅读(2113) 评论(4) 推荐(8) 编辑
摘要: 【主流技术】详解 SpringBoot 集成 ElasticSearch7.x 全过程 ElasticSearch 简称 es,是一个开源的高扩展的分布式全文检索引擎,目前最新版本已经到了8.11.x了。 它可以近乎实时的存储、检索数据,且其扩展性很好,是企业级应用中较为常见的检索技术。 下面主要记录学习 ElasticSearch7.x 的一些基本结构、在Spring Boot 项目里基本应用的过程,在这里与大家作分享交流。 阅读全文
posted @ 2023-11-22 17:29 CodeBlogMan 阅读(2125) 评论(0) 推荐(1) 编辑
摘要: 【主流技术】一文掌握 Redis 在 Java 中的 5 大基本结构应用 Redis 是目前互联网后端的热门中间件之一,在许多方面都有深度的应用,作为后端开发熟练掌握该技术是十分有必要的。 Redis 的五种数据类型是:1、String(字符串);2、Hash(哈希);3、List(列表);4、Set(集合);5、Sort Set (有序集合)。其余的用的比较少,本文暂不涉及。其中,String(字符串)是 Redis 中最基本的数据类型,一个 Key 对应一个 Value。 阅读全文
posted @ 2023-11-10 10:30 CodeBlogMan 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 【主流技术】MongoTemplate 与 Spring Boot 项目集成(附CURD技巧) MongoTemplate 是Spring Data MongoDB 中的一个核心类,为 Spring 与 MongoDB 数据库的交互提供了丰富的功能集。 MongoTemplate 提供了创建、更新、删除和查询 MongoDB 文档的便利操作,并提供了编程语言的领域对象(POJO)和 MongoDB 文档之间的映射。 阅读全文
posted @ 2023-09-25 09:49 CodeBlogMan 阅读(554) 评论(0) 推荐(0) 编辑
摘要: 【项目管理】敏捷项目每日站会中的四大“坑” 每日站会(Daily Standup)是团队统一节奏的、在固定时间发生的、帮助团队内部快速同步进展的敏捷实践活动。 阅读全文
posted @ 2023-08-23 17:59 CodeBlogMan 阅读(576) 评论(0) 推荐(2) 编辑
摘要: 【设计模式】分享 Java 开发中常用到的设计模式(一) 不知道大家在开发的时候,有没有想过(遇到)这些问题: 1、大家都是按需要开发,都是一个职级的同事,为什么有些人的思路就很清晰,代码也很整洁、易懂;而自己开发,往往不知道怎么下手设计,写完了也是bug一堆,codeReview的时候更是频频被怼... 2、感觉每天都是CURD,写重复的代码,做类似的需求,怎么才能提高自己的水平? 3、每每看到大佬的代码,或者优秀框架的源码,总是似懂非懂,怀疑自己是不是缺少了哪些知识? 阅读全文
posted @ 2023-08-09 10:33 CodeBlogMan 阅读(591) 评论(2) 推荐(1) 编辑
摘要: 在最近的互联网项目开发中,需要获取用户的访问ip信息,并进行后续统计分析。 这些ip信息是在第三方的服务中分组存放的,且每个分组都都是分页(1页10条)存放的,如果一次性访问大量的数据,API很有可能会报错。 怎样通过HTTP的方式去获取到信息,并且模拟浏览器每页每页获取10条的信息,且持久到数据库中,就成了当下亟需解决的问题。 阅读全文
posted @ 2023-05-30 10:49 CodeBlogMan 阅读(603) 评论(0) 推荐(0) 编辑
摘要: 【解决方案】Spring动态定时任务之ScheduledTaskRegistrar 在做SpringBoot项目的过程中,有时客户会提出按照指定时间执行一次业务的需求。 在单一使用ScheduledTaskRegistrar类解决定时任务问题的时候,可能会达不到预期的动态调整定时任务的效果。 阅读全文
posted @ 2023-01-31 17:25 CodeBlogMan 阅读(3647) 评论(4) 推荐(5) 编辑
摘要: 【云原生】为什么要虚拟化,为什么要容器,为什么要Docker,为什么要K8S? 如标题中的问题所提到的虚拟化,容器,Docker和K8s那样,我们不妨这样问:这些技术到底适用于哪些场景,有没有别的技术可以替代?这些技术的优劣在哪里? 阅读全文
posted @ 2023-01-16 15:17 CodeBlogMan 阅读(2122) 评论(6) 推荐(13) 编辑
摘要: 【主流技术】15 分钟掌握 Redis 的安装部署和基本特性 在Java Spring 项目中,数据与远程数据库的频繁交互对服务器的内存消耗比较大,而Redis的特性可以有效解决这样的问题。 Redis的几个特性: 1. Redis 以内存作为数据存储介质,读写数据的效率极高; 2. Redis 支持 key-value 等多种数据结构,提供字符串,哈希,列表,队列,集合结构直接存取于内存,可持久化(RDB 和 AOF); 3. 支持主从模式,可以配置集群。 阅读全文
posted @ 2022-07-11 08:53 CodeBlogMan 阅读(848) 评论(0) 推荐(0) 编辑
摘要: 【主流技术】浅析 ElasticSearch7.x 的基本结构及应用(一) ElasticSearch 简称 es,是一个开源的高扩展的分布式全文检索引擎。它可以近乎实时的存储、检索数据,且其扩展性很好,ElasticSearch 是企业级应用中较为常见的检索技术。 下面主要记录学习 ElasticSearch7.x 的一些基本结构、在Spring Boot 项目里基本应用的过程,在这里与大家作分享交流。 阅读全文
posted @ 2022-06-20 11:58 CodeBlogMan 阅读(1277) 评论(2) 推荐(1) 编辑
摘要: 【主流技术】聊一聊对 Mybatis Plus 的理解与应用 mybatis plus 是一个 mybatis的增强工具,在其基础上只做增强不做改变。作为开发中常见的第三方 JDBC 组件,掌握并应用在项目中可以节省开发时间,提高开发效率。 阅读全文
posted @ 2022-06-13 09:48 CodeBlogMan 阅读(1103) 评论(5) 推荐(2) 编辑
摘要: 【Java 进阶】Java8 新特性的理解与应用 Java 8是Java的一个重大版本,是目前企业中使用最广泛的一个版本。 它支持函数式编程,新的Stream API 、新的日期 API等一系列新特性。 掌握Java8的新特性已经是java程序员的标配,掌握了它,就可以看懂公司里的代码、高效率地处理大量集合数据以及消灭“嵌套地狱”等等。 阅读全文
posted @ 2022-06-08 11:15 CodeBlogMan 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 【Java 进阶】详细探究 Spring 框架中的注解与反射 注解(Annotation)不是程序,但可以对程序作出解释,也可以被其它程序(如编译器)读取。 注解的格式:以@注释名在代码中存在,还可以添加一些参数值例如@SuppressWarnings(value="unchecked")。 注解可在package、class、method、field等上面使用,作用是为它们添加了额外的辅助信息,从而可以通过反射机制实现对这些元数据的访问。 阅读全文
posted @ 2022-06-08 10:11 CodeBlogMan 阅读(1304) 评论(2) 推荐(2) 编辑
摘要: 【主流技术】实战之 Spring Boot 中集成微信支付(小程序) 微信支付是企业级项目中经常使用到的功能,作为后端开发人员,完整地掌握该技术是十分有必要的。 阅读全文
posted @ 2022-05-26 22:09 CodeBlogMan 阅读(1640) 评论(2) 推荐(2) 编辑