摘要:
1 基于接口的代理模式 什么是代理? 简单来说,代理是指一个对象代替另一个对象去做某些事情。 例如,对于每个程序员来说,他都有编程的能力: interface Programmable { void developSoftware(); } 对于Java程序员,他会编写Java代码: class J 阅读全文
摘要:
StreamSaver.js + zip-stream.js流式下载&压缩文件。 部分浏览器(火狐)可能不兼容。 1 应用场景 在实际项目中,通常存在用户手动选择下载多个文件的情况。 常规的做法(服务器打包下载)是,后端从文件服务器(比如华为云OBS)读取文件,将这些文件进行打包,然后将压缩包字节流 阅读全文
摘要:
类型转换本质上来说是这么一个过程: SourceType --> TargetType Spring提供了一套基于Converter接口的*SPI(Server Provide Interface)*机制。 通过实现Converter接口,我们可以根据自己的业务需求制定特定的类型转换规则。 1 Co 阅读全文
摘要:
本文试图从原理上讲解Spring IoC容器的作用域机制,建议对着源码阅读,事半功倍。 0 引入问题 当我们谈到Spring作用域的时候,自然而然会想到如下作用域(来自spring-core官方文档): | 作用域 | 描述 | | | | | singleton | (Default) Scope 阅读全文
摘要:
1 Spring IoC使用流程 IoC(或DI)是Spring框架的核心功能之一,是Spring生态系统的基础。 Spring IoC的主要功能是将项目中的各种POJO虚拟成一个个Bean,管理这些Bean的生命周期以及Bean之间的依赖关系。开发人员在需要使用某个POJO时,只需要通过Spr 阅读全文
摘要:
0 前言 对于Java程序员而言,Web服务器(如Tomcat)是后端开发绕不过去的坎。简单来看,浏览器发送HTTP请求给服务器,服务器处理后发送HTTP响应给浏览器。 Web服务器负责对请求进行处理。HTTP请求和响应本质上可以看成是有一定格式的字符串,而在网络中传输的数据都需要转换成二进制格式。 阅读全文
摘要:
1 一个简单的示例 在Spring Boot项目中使用spring-rabbit时,需要经过以下几个步骤: 引入依赖。 配置基本连接信息。 创建消息发布者,并发送消息。 创建消息消费者,监听消息并处理。 我们以一个简单的例子开始,展示这个基本过程。 1.1 引入依赖 如果是Maven项目,需要在po 阅读全文
摘要:
上一篇文章(RabbitMQ:下载 & 安装)中,我们下载并且安装了RabbitMQ,并且成功注册了RabbitMQ服务。本文我们将学习RabbitMQ中最基础、最重要的概念:AMQP 0-9-1协议模型。 0 前言 要学好一项技术,千万不要死记硬背那些调用API,而是要理解它的执行逻辑。 Rabb 阅读全文
摘要:
> 本文简要介绍RabbitMQ提供的Java客户端中最基本的功能性接口/类及相关源码。 Mavan依赖: <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.13 阅读全文
摘要:
RabbitMQ是基于Erlang语言开发的消息中间件,所以使用RabbitMQ需要安装Erlang和RabbitMQ两个软件。 1 Erlang 1.1 下载 官网下载地址:https://www.erlang.org/downloads 32位点击:OTP 24.0 Windows 32-bit 阅读全文