Java RecordJava Record(Java 16 引入,Java 17+ 正式版)是一种特殊的类,专门用于不可变数据载体;它自动生成构造器、getter、equals()、hashCode()、toString(),极大减少了样板代码:// 传统 POJO —— 需要大量样板代码public class UserDTO { pr......
YANGWW Java · 文档 2026-03-30 阅读 · 23
JSpecify是Java 生态中用于标准化 Null 安全性(Null-Safety)的一套的注解和规范。IntelliJ IDEA 2025.3+ 以及静态分析工具能够通过这些注解,在编译期间就发现潜在的NullPointerException。Specify 的核心注解@NullMarked:最核心注解;通常放在......
YANGWW Java · 文档 2026-03-30 阅读 · 13
安装 JDK## scoop 是 windows 下的一个包管理器## 给 Scoop 添加一个名为 java 的“软件库”(Bucket) scoop bucket add javascoop install temurin25-jdk安装 Manvescoop install main/maven安装 Spring Boot CLIscoop bucket add extras## 安装 Spring Boot CLIscoop install springboo......
YANGWW Java · 文档 2026-03-29 阅读 · 122
不用 Lombok(真实痛点)public class User { private Long id; private String username; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = u......
YANGWW Java · 文档 2026-03-29 阅读 · 91
Spring Boot 项目入口Spring Boot 项目的入口是一个带有 main 方法的普通 Java 类,且该类必须被 @SpringBootApplication 注解标记。入口文件的职责是 启动 Spring 容器、激活自动配置(自动装配 Bean)、组件扫描、启动内嵌服务器(tomcat/jetty/undert......
YANGWW Java · 文档 2026-03-29 阅读 · 85
工作原理Spring Security 的本质是一个 过滤器链 (Filter Chain)。它拦截所有的 HTTP 请求,并在请求到达你的 Controller 之前,先完成“你是谁(认证)”和“你能干什么(授权)”的检查。具体使用如果在pom.xml中引入了 Spring Security依......
YANGWW Java · 文档 2026-03-29 阅读 · 58
IoC 控制反转 和 DI 依赖注入IOC 是一种设计思想,是将对象的创建和管理权转给了 spring 容器,让 spring 容器来管理对象,也即控制权反转。DI (依赖注入,Dependency Injection)是 IoC 的实现方式之一,由 spring 容器来创建并注入所依赖......
YANGWW Java · 文档 2026-03-29 阅读 · 43
Spring Web提供 REST AP、处理请求/响应、JSON 序列化@RestController@RequestMapping("/users")public class UserController {}Spring Data RedisRedis 客户端封装(基于 Lettuce)redisTemplate.opsForValue().set("key", "value");## 或:@Cacheable("user")PostgreSQL DriverPostgreSQSL 数......
YANGWW Java · 文档 2026-03-28 阅读 · 63
1. 基础 CRUD 场景(注解方式)适用于简单的 SQL 逻辑,无需创建冗长的 XML 文件,代码直接写在 Mapper 接口上@Mapperpublic interface UserMapper { @Select("SELECT * FROM users WHERE id = #{id}") User findById(@Param("id") Long id); @Insert("INSERT INTO users(n......
YANGWW Java · 文档 2026-03-28 阅读 · 45
核心启动类注解这类注解通常位于项目的入口类上。@SpringBootApplication: 这是一个组合注解,包含了:@SpringBootConfiguration:标识这是一个 Spring Boot 配置类。@EnableAutoConfiguration:开启自动配置机制,让 Spring 根据依赖自动配置项目......
YANGWW Java · 文档 2026-03-28 阅读 · 49