作者:jinji

为什么Springboot3中是用构造函数引入bean需要用final修饰,使用装饰器autowire就不需要

这是一个很好的问题!这涉及到 Spring Boot 3(实际上是 Spring Framework 6+)中推荐的依赖注入方式变化。 核心原因:不变性(Immutability)和设计理念 1. 构造器注入 + final 的优势 @Service public class MyService {

jinji jinji 发布于 2026-01-13

spring 为什么推荐 用构造函数,而不是autowire

Spring 推荐使用构造函数注入而非 @Autowired 字段注入,主要有以下几个关键原因: 1. 不可变性 (Immutability) // 构造函数注入 - 推荐 @Service public class OrderService { private final PaymentS

jinji jinji 发布于 2026-01-08

lombok.Builder;作用是什么,

@Builder 是 Lombok 注解,用于自动生成构造器模式的代码。主要作用: 1. 替代多个构造器 // 不使用 @Builder public class User { private String name; private int age; private Str

jinji jinji 发布于 2026-01-08

RestController 和 Controler区别

@RestController 和 @Controller 是 Spring MVC 中两个常用的注解,主要区别如下: 1. @Controller 传统 MVC 控制器 通常返回视图名称(用于渲染 HTML 页面) 需要配合 @ResponseBody 注解才能返回 JSON/XML 数据 适用于

jinji jinji 发布于 2026-01-08

MyBatis-Flex QueryWrapper 自动添加意外查询条件问题分析与解决

🐛 问题现象 在使用 MyBatis-Flex 构建查询条件时,发现 SQL 中自动添加了不应该存在的条件: SELECT COUNT(*) AS `total` FROM `sys_role` WHERE `tenant_id` = ? AND (`role_sort` = ?) AND `de

jinji jinji 发布于 2025-08-21

Netty + WebFlux 和 Tomcat + Spring MVC

以下是 基于 Netty + WebFlux 和 基于 Tomcat + Spring MVC 的核心区别,以及 Spring Boot 3 的最新技术栈 总结: 1. Netty + WebFlux vs. Tomcat + Spring MVC 对比 维度 Netty + WebFlux(响应式

jinji jinji 发布于 2025-07-21

Spring Boot 3 各个小版本

以下是 Spring Boot 3 各个小版本(3.0 → 3.5)的主要区别整理: 🔹 Spring Boot 3.0 (发布于 2022 年 11 月) Java 17 起点:必须使用 Java 17 及以上版本,不再支持 Java 8 。 升级至 Spring Framework 6 & J

jinji jinji 发布于 2025-07-16

【Flink 实战】`.allowedLateness()` 和 `forBoundedOutOfOrderness()` 的区别与在实时风控中的正确姿势

📌 背景介绍 在基于 事件时间(Event Time) 的 Flink 程序中,我们通常会处理两类数据: 乱序数据(乱序到达但还算“准时”) 迟到数据(窗口关闭后才到达) 为了让窗口计算机制更加健壮,Flink 提供了以下两个机制: 配置项 含义 应用点 WatermarkStrategy.for

jinji jinji 发布于 2025-06-26

Flink 窗口迟迟不触发?你可能遇到了 Watermark 卡死的问题!

最近在调试 Flink 的事件时间窗口时,遇到了一个很“诡异”的现象: Kafka 数据源持续有数据输入 事件时间也是合理的、并且比系统当前时间还新 使用了 SlidingEventTimeWindows 但窗口处理函数 process() 一直不触发! 本文将详细记录问题的表现、分析过程、最终原因

jinji jinji 发布于 2025-06-26

import java.time.LocalDateTime和 import java.util.Date区别

java.time.LocalDateTime 和 java.util.Date 是 Java 中两个不同的日期时间 API,它们有以下主要区别: 1. 所属包和版本 java.util.Date:来自旧的 Java 日期时间 API(Java 1.0 引入) java.time.LocalDate

jinji jinji 发布于 2025-06-09