Spring 全栈教程
首页
起步
IoC 容器
AOP
Spring Boot
Web
数据
工程化
安全
实战
速查
工具
急救
全部
关于
/
中
EN
首页
/
注解速查库
注解速查库
64 条注解、概念与配置项,点任意条目直接搜全站教程
全部
注解
概念
配置
@
@SpringBootApplication
启动类复合注解:组合了 @Configuration + @EnableAutoConfiguration + @ComponentScan
直达 →
@
@Configuration
声明配置类,Spring 会用 CGLIB 代理以支持容器中 Bean 的调用增强
直达 →
@
@Bean
把方法返回值注册为容器管理的 Bean,方法名即 Bean 名
直达 →
@
@Component
通用组件注解,被 ComponentScan 扫描后注册为 Bean
直达 →
@
@Service
语义化的 @Component,标记业务层
直达 →
@
@Repository
语义化的 @Component,标记数据访问层并自动做异常转换
直达 →
@
@Controller
标记控制器,配合 @RequestMapping 处理 HTTP 请求
直达 →
@
@RestController
@Controller + @ResponseBody,返回值自动序列化为 JSON
直达 →
@
@Autowired
按类型注入;多个同类型 Bean 时需配合 @Qualifier 消歧
直达 →
@
@Qualifier
限定注入目标 Bean 的名称,避免同类型注入歧义
直达 →
@
@Value
注入配置文件中的单个属性值,支持 SpEL 与占位符
直达 →
@
@ConfigurationProperties
把一组配置绑定到 Java Bean 上,类型安全,支持 JSR-303 校验
直达 →
@
@RequestMapping
映射 HTTP 请求到处理方法,可限定路径与请求方法
直达 →
@
@GetMapping
@RequestMapping(method = GET) 的快捷写法
直达 →
@
@PostMapping
@RequestMapping(method = POST) 的快捷写法
直达 →
@
@RequestBody
把请求体 JSON 反序列化为 Java 对象,需要消息转换器
直达 →
@
@ResponseBody
把返回值写入响应体而非视图解析
直达 →
@
@PathVariable
绑定 URL 路径中的变量,如 /user/{id}
直达 →
@
@RequestParam
绑定查询参数或表单参数
直达 →
@
@Valid
触发 JSR-303 校验,需配合 @NotBlank 等约束注解
直达 →
@
@Transactional
声明事务边界,默认遇到 RuntimeException 回滚
直达 →
@
@Scheduled
声明定时任务,需 @EnableScheduling 开启
直达 →
@
@Async
把方法放到独立线程执行,需 @EnableAsync 开启
直达 →
@
@Cacheable
缓存方法的返回结果,需 @EnableCaching 开启
直达 →
@
@ControllerAdvice
全局异常处理器,统一处理各类异常
直达 →
@
@ExceptionHandler
声明某个方法专门处理特定异常
直达 →
@
@Order
定义 Bean 或切面的优先级,数字越小优先级越高
直达 →
@
@Profile
按环境(dev/prod)决定 Bean 是否注册
直达 →
@
@Lazy
延迟初始化,首次访问时才创建 Bean
直达 →
·
自动装配
Spring Boot 根据 classpath 上的依赖与容器里的 Bean 自动匹配并注入
直达 →
·
IoC 容器
BeanFactory 与 ApplicationContext,负责 Bean 的创建、依赖注入与生命周期
直达 →
·
BeanFactory
最基础的容器接口,只提供 Bean 的获取与懒加载能力
直达 →
·
ApplicationContext
功能更丰富的容器,在 BeanFactory 之上加了事件、AOP、国际化等
直达 →
·
Bean 生命周期
实例化 → 属性注入 → Aware 回调 → BeanPostProcessor → 初始化 → 使用 → 销毁
直达 →
·
依赖注入
容器把对象所需的依赖自动传入,而不是对象自己 new 出来
直达 →
·
AOP
面向切面编程,通过动态代理把横切逻辑(日志/事务/权限)织入目标方法
直达 →
·
Spring MVC
基于 Servlet 的 Web 框架,用 DispatcherServlet 统一分发请求
直达 →
·
自动配置
通过 META-INF/spring.factories 或 AutoConfiguration.imports 声明的条件装配类
直达 →
·
Starter
把一组常用依赖打成一个坐标,约定优于配置
直达 →
·
Actuator
暴露健康检查、指标、环境变量等运维端点的官方组件
直达 →
·
配置优先级
命令行 > 系统属性 > 环境变量 > 配置文件 > 默认值,后面的覆盖前面的
直达 →
·
Profile 多环境
用 application-{env}.yml 区分环境,通过 spring.profiles.active 激活
直达 →
·
JPA 懒加载
查询时只加载主表,关联对象在首次访问时才发 SQL,需注意会话关闭与 N+1
直达 →
·
连接池
HikariCP 是 Spring Boot 默认连接池,参数直接影响吞吐与超时行为
直达 →
·
N+1 问题
查一次主表再逐条查关联表,数据量一大就雪崩,需用 join fetch 或 @EntityGraph 解决
直达 →
·
循环依赖
Spring Boot 2.6 后默认禁止构造器注入的循环依赖,优先改设计而非开 allow-circular-references
直达 →
·
JWT
自包含令牌,服务端无状态,但无法即时撤销,需短有效期 + 刷新令牌
直达 →
·
OAuth2 授权码模式
最推荐的第三方授权流程,前端拿授权码换令牌,令牌不经过浏览器
直达 →
·
Docker 多阶段构建
第一阶段用完整镜像编译,第二阶段只取产物,镜像体积可缩到十分之一
直达 →
·
健康检查
通过 /actuator/health 判断应用是否可接流量,是滚动更新的前提
直达 →
·
优雅停机
收到 SIGTERM 后停止接收新请求,等待存量请求处理完再退出
直达 →
·
结构化日志
用 JSON 格式输出日志,便于 ELK / Loki 检索与聚合
直达 →
=
server.port
应用监听端口,默认 8080
直达 →
=
spring.datasource.url
数据库连接串,决定连接哪个库、用什么驱动
直达 →
=
spring.datasource.hikari.maximum-pool-size
连接池上限,默认 10;并非越大越好,取决于数据库承载能力
直达 →
=
spring.datasource.hikari.connection-timeout
获取连接的等待毫秒数,超时抛 SQLTransientConnectionException
直达 →
=
spring.jpa.hibernate.ddl-auto
建表策略:生产务必用 validate 或 none,别用 update
直达 →
=
spring.jpa.open-in-view
默认 true 会让懒加载在视图层才发 SQL,生产建议关掉并显式 fetch
直达 →
=
spring.jackson.time-zone
Jackson 序列化时区,影响时间字段的输出格式
直达 →
=
spring.mvc.throw-exception-if-no-handler-found
找不到处理器时是否抛异常,配合 @ControllerAdvice 做统一 404 处理
=
spring.servlet.multipart.max-file-size
单文件上传上限,默认 1MB,调大需同步调网关限制
直达 →
=
management.endpoints.web.exposure.include
暴露哪些 Actuator 端点,生产不要用 * 全部开放
直达 →
=
server.shutdown
设为 graceful 可开启优雅停机,配合生命周期超时时间
直达 →
=
spring.main.lazy-initialization
懒加载所有 Bean,启动更快但首个请求变慢,适合 CLI 工具
直达 →
共 64 条 · 点条目搜全站教程
按模块继续读
起步与环境
5
内核 · IoC 容器
5
内核 · AOP 切面
5
Spring Boot 自动装配
6
Web 与 MVC
5
数据访问与事务
6
测试与工程化
5
安全与高级特性
5
综合实战项目
4