Spring Boot 常用注解速查表

🌱 Spring Boot 常用注解速查表

📁 分类整理 + 应用说明,适用于日常开发参考。


🔧 核心注解(IOC/AOP)

注解 作用 应用层
@Component 标识一个通用组件,注册到 Spring 容器 所有组件
@Service 表示服务层组件(业务逻辑) Service
@Repository 表示 DAO 层组件,带异常转换功能 Repository
@Controller 表示控制器组件,返回视图 Web 控制层
@RestController @Controller + @ResponseBody,返回 JSON Web API
@Autowired 按类型注入 Bean 所有层
@Resource 默认按名称注入 Bean 所有层
@Value("${key}") 注入配置文件中的属性值 所有层
@PostConstruct Bean 初始化后执行方法 所有层
@PreDestroy Bean 销毁前执行方法 所有层

🌐 Web 开发相关(Spring MVC)

注解 作用
@RequestMapping 映射请求路径(支持 GET/POST 等)
@GetMapping / @PostMapping 更具体的请求方法映射
@PathVariable 获取 URL 中的路径变量
@RequestParam 获取请求参数(?key=value)
@RequestBody 接收 JSON 请求体并映射为对象
@ResponseBody 将方法返回值转为 JSON
@ModelAttribute 用于表单绑定参数到对象
@CrossOrigin 支持跨域请求
@SessionAttributes 设置需要存储到 session 的属性

⚙️ 配置类 / 自动装配相关

注解 作用
@SpringBootApplication 启动类核心注解(包含 3 个注解)
@Configuration 定义配置类(相当于 XML 配置)
@Bean 将方法返回对象注册为 Bean
@ComponentScan 指定扫描组件的基础包
@EnableAutoConfiguration 启用 Spring Boot 自动配置
@EnableConfigurationProperties 开启配置绑定支持
@ConfigurationProperties(prefix="...") 将配置文件的属性注入到 Java 类

🗃️ 数据访问(JPA)

注解 作用
@Entity 定义实体类
@Table(name="...") 指定数据库表名
@Id 定义主键
@GeneratedValue 主键生成策略
@Column 配置列名、约束等
@Repository 标注数据访问层类

🧪 测试相关

注解 作用
@SpringBootTest 启动整个 Spring Boot 环境进行测试
@WebMvcTest 测试 Controller 层(不启动整个容器)
@DataJpaTest 测试 JPA 数据层
@MockBean 向测试环境注入 mock 的 Bean

💡 其他实用注解

注解 作用
@Primary 标记为首选注入 Bean(多个 Bean 时)
@ConditionalOnProperty 根据配置文件条件启用 Bean
@Slf4j 自动注入日志对象(需 lombok)

🧭 建议组合使用(常见套路)

复制代码
// 启动类
@SpringBootApplication
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}

// Controller 示例
@RestController
@RequestMapping("/api")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/users/{id}")
    public User getUser(@PathVariable Long id) {
        return userService.getById(id);
    }
}
相关推荐
步步为营DotNet24 分钟前
深度解析CancellationToken:.NET中的优雅取消机制
java·前端·.net
leobertlan7 小时前
2025年终总结
前端·后端·程序员
面向Google编程7 小时前
从零学习Kafka:数据存储
后端·kafka
易安说AI8 小时前
Claude Opus 4.6 凌晨发布,我体验了一整晚,说说真实感受。
后端
易安说AI8 小时前
Ralph Loop 让Claude无止尽干活的牛马...
前端·后端
易安说AI8 小时前
用 Claude Code 远程分析生产日志,追踪 Claude Max 账户被封原因
后端
JH30739 小时前
SpringBoot 优雅处理金额格式化:拦截器+自定义注解方案
java·spring boot·spring
颜酱9 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
Coder_Boy_10 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
invicinble10 小时前
对tomcat的提供的功能与底层拓扑结构与实现机制的理解
java·tomcat