本文将带你深入了解SpringBoot框架的核心原理,通过300行代码的迷你版本来展示SpringBoot核心注解的作用及特性,在学习本篇文章时,可以同时学习:深度揭秘SpringBoot自动装配的实现原理,相信大家会对本文中的各个功能会有更加深刻的理解 本文内容: 手写模拟SpringBoot启动 ...
前言 OpenFeign 是 Spring Cloud 官方推荐的声明式 HTTP 客户端,让微服务间调用像调用本地方法一样简单。本文带你全面掌握 OpenFeign 的核心用法。 一、引入依赖 <!-- pom.xml --> <dependency> <groupId>org.springfra ...
大家好,我是R哥。 Spring AI 1.1.3 才发布多久啊: Spring AI 1.1.3 正式发布,19 个新特性太顶了! Spring AI 1.1.4 又发布了。。 除了 Spring AI 1.1.4,2.0.0 也来到了 M4 版本了,相信再过一阵子就要正式 GA 了,1.0.5 ...
Mybatis基础使用 Mybatis编程式开发 mybatis和MySQL jar包依赖 <dependencies> <!-- MyBatis 核心 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</arti ...
前言 Spring Cloud Gateway 是 Spring 官方推出的 API 网关,基于 WebFlux 实现,性能卓越。本文带你从零搭建一个生产级的微服务 API 网关。 一、核心概念 Route(路由):网关的基本构建块,包含 ID、目标 URI、Predicate、Filter Pre ...
前言 MyBatis-Plus(MP)是 MyBatis 的增强工具,无需编写 SQL 即可完成 CRUD 操作,极大提升开发效率。本文带你实战 Spring Boot 整合 MyBatis-Plus。 一、引入依赖 <!-- pom.xml --> <dependency> <groupId>co ...
前言 Apache Kafka 是分布式消息队列的事实标准,本文带你实战 Spring Boot 整合 Kafka,完成生产者和消费者的完整开发。 一、Kafka 核心概念 Producer:消息生产者 Consumer:消息消费者 Broker:Kafka 服务节点 Topic:消息主题分类 Pa ...
前言 Docker 是现代微服务架构的基石。将 Spring Boot 应用容器化,可以实现一次构建,处处运行。本文带你从零完成 Spring Boot 应用的 Docker 容器化部署。 一、为什么需要 Docker 环境一致性:开发、测试、生产环境完全一致 快速部署:秒级启动,秒级扩容 资源隔离 ...
前言 Kotlin 协程(Coroutines)是 Android 和服务端开发者的必备技能。相比 Java 线程,协程更轻量、更易读、更安全。本文带你从零掌握 Kotlin 协程的核心用法。 一、协程 vs 线程 线程:操作系统调度,创建成本高(约1MB栈内存) 协程:用户态调度,创建成本极低(约 ...
前言 Java 21 正式引入虚拟线程(Virtual Threads),这是 Project Loom 的核心成果。虚拟线程让 Java 并发编程从"难"变"简",彻底改变了高并发应用的开发方式。本文带你全面掌握虚拟线程。 一、虚拟线程 vs 平台线程 平台线程:对应操作系统线程,创建成本高(约1 ...
本文将带你深入了解Spring框架的核心原理,通过300行代码的迷你版本来展示Spring最核心的特性:IoC(控制反转)、DI(依赖注入)和MVC(模型-视图-控制器)模式的实现。 mini版Spring实现思路 实现过程 自定义注解 在Spring框架中,注解是非常重要的组成部分。我们的迷你版也 ...
MVC 拦截器 Spring MVC 拦截器对应HandlerInterctor接口,该接口位于org.springframework.web.servlet的包中,定义了三个方法,若要实现该接口,就要实现其三个方法: 前置处理(preHandle()方法):该方法在执行控制器方法之前执行。返回值为 ...
在Java中,关键字和保留字是两类具有特殊意义的标识符,它们被语言本身占用,不能作为变量名、方法名、类名等自定义标识符使用。理解它们的区别与用途,是掌握Java语法的第一步。 查看官网关键字和保留字: https://docs.oracle.com/javase/tutorial/java/nuts ...
前言 什么是MVC MVC英文是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计规范,本质上也是一种解耦。 Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。 Vie ...
1. 什么是注释? 注释(comment)。对Java程序中的代码进行文字性解释说明。不会被Java编译和运行。 2. Java注释 Java中的注释主要分为三类: 类型 语法 用途 单行注释 // 注释内容 对代码进行简短说明,编译时忽略 多行注释 /* 注释内容 */ 可跨行,用于较长的解释或临 ...
实现 是类对接口行为规范的 "兑现",核心作用是弥补单继承不足、定义行为标准,是接口多态的基础;泛型 参数化类型,编译时检查类型安全,消除强制转换,核心是类型参数(T/E 等),实现代码复用。 ...
一般初学者开发第一个Java程序,我们习惯称之为:HelloWorld。 1. Java程序的开发步骤 Java程序开发一般分为三步:编写、编译、运行。 将Java代码编写到以.java结尾的源文件中。 通过javac.exe命令对源文件(.java)进行编译,编译后在当前源文件所在目录会自动生成一 ...
大家好,我是R哥。 一周时间,Spring Boot 连发两个版本: 这版本速度也太快了吧,跟不上了,不过好在都是小版本更新,主要是一些 bug 修复和依赖升级,没什么大问题。 本次更新要点 Spring Boot 4.0.5 版本主要包含 17 个漏洞修复、文档改进和依赖升级,重点说说 Sprin ...
前言 Netty 是一个高性能、异步事件驱动的网络应用框架,广泛应用于 RPC、消息队列、游戏服务器等高并发场景。本文从零开始,带你掌握 Netty 的核心概念和实战技巧。 一、为什么选择 Netty? 传统 Java NIO 的痛点:API 复杂,学习曲线陡峭;需要手动管理 Selector、Ch ...
前言 在高并发场景下,同步阻塞是性能杀手。Java 8 引入的 CompletableFuture 彻底改变了异步编程的写法。 一、为什么需要 CompletableFuture? 传统 Future 的痛点: future.get() 会阻塞当前线程 无法链式组合多个异步任务 异常处理繁琐 二、基 ...