首页 / 作者AUTHOR / SPRINGFORALL

hello

记录技术探索,分享实践心得。

共 1790 篇文章

Spring系列之自动注入(autowire)详解

手动注入的不足 上篇文章中介绍了依赖注入中的手动注入,所谓手动注入是指在xml中采用硬编码的方式来配置注入的对象,比如通过构造器注入或者set方法注入,这些注入的方式都存在不足,比如下面代码: public class A{ private B b; private C c; private D d; private E e; .... private N…

Spring系列之depend-on的作用

本文主要讨论一下bean的创建和销毁的顺序,如何来干预bean的创建和销毁的顺序。 无依赖bean创建和销毁的顺序 我们先来看一下没有任何依赖的bean的创建和销毁的顺序。 下面的xml中定义了3个bean: <?xml version="1.0" encoding="UTF-8"?> <beans…

RocketMQ 中冷热分离的随机索引模块详解

消息系统中随机索引的特点 RocketMQ 广泛使用于各类业务场景中,在实际生产场景中,用户通常会选择消息 ID 或者特定的业务 Key(例如学号,订单号)来查询和定位特定的一批消息,进而定位分布式系统中的复杂问题。传统方案下,消息索引的存储是基于数据库系统或者基于本地文件系统实现的,受限于磁盘容量,很难满足海量数据的写入诉求。…

Spring Boot 实现异步事件Event

场景 很多时候当我们完成某些业务后需要给用户推送相关消息提醒。对于这种非核心业务功能我们可以拿出来,创建一个事件去异步执行,从而实现核心业务和子业务的解耦。 实现 定义事件类 Event 创建一个类,继承 ApplicationEvent ,并重写构造函数。 ApplicationEvent 是Spring提供的所有应用程序事件扩展类。 public…

Spring系列之父子容器详解

主要的问题 什么是父子容器? 为什么需要用父子容器? 父子容器如何使用? 下面我们就来探讨探讨。 我们先来看一个案例 系统中有2个模块:module1和module2,两个模块是独立开发的,module2会使用到module1中的一些类,module1会将自己打包为jar提供给module2使用,我们来看一下这2个模块的代码。 模块1…