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);
    }
}
相关推荐
编啊编程啊程8 分钟前
【011】宠物共享平台
spring boot·log4j·maven·dubbo·宠物
你的人类朋友3 小时前
【Node】认识multer库
前端·javascript·后端
小梁努力敲代码3 小时前
java数据结构--List的介绍
java·开发语言·数据结构
摸鱼的老谭4 小时前
构建Agent该选Python还是Java ?
java·python·agent
lang201509284 小时前
Spring Boot 官方文档精解:构建与依赖管理
java·spring boot·后端
夫唯不争,故无尤也4 小时前
Tomcat 启动后只显示 index.jsp,没有进入你的 Servlet 逻辑
java·servlet·tomcat
zz-zjx4 小时前
Tomcat核心组件全解析
java·tomcat
Deschen4 小时前
设计模式-外观模式
java·设计模式·外观模式
why技术5 小时前
从18w到1600w播放量,我的一点思考。
java·前端·后端
间彧5 小时前
Redis Cluster vs Sentinel模式区别
后端