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);
    }
}
相关推荐
MY_TEUCK1 小时前
【Java 后端】SpringBoot 登录认证与会话跟踪实战(JWT + Filter/Interceptor)
java·开发语言·spring boot
今天长肉了吗1 小时前
银行风控项目踩坑实录:指标跑了6小时,风险评分全挂了
java
计算机程序定制辅导1 小时前
计算机小程序毕设实战-基于Spring Boot与微信小程序的考研资源共享平台设计与实现基于springboot+微信小程序的考研复习辅助平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】
spring boot·微信小程序·小程序·课程设计
随读手机2 小时前
多式联运信息交互平台完整方案(2026版)
java·ai·eclipse·云计算·区块链
许彰午2 小时前
03-二叉树——从递归遍历到非递归实现
java·算法
nj01282 小时前
Spring 循环依赖详解:三级缓存、早期引用、AOP 代理与懒加载
java·spring·缓存
野生技术架构师2 小时前
2026年最全Java面试题及答案汇总(建议收藏,面试前看这篇就够了)
java·开发语言·面试
程序员飞哥2 小时前
重构 AI 思维(一):Prompt Engineering,如何下达不可违抗的指令?
人工智能·后端
一只叫煤球的猫3 小时前
ThreadForge 源码解读一:ThreadScope 如何把并发任务放进清晰边界?
java·面试·开源
皮皮林5514 小时前
@Autowired 和 @Resource 注解有啥区别?你这项目怎么还混着用呢?
后端