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);
    }
}
相关推荐
用户21411832636022 分钟前
AI 驱动开发:20 分钟搞定智能发票申请单系统
后端
G探险者18 分钟前
Java 中 null 值在 JSON 输出时丢失的坑:一次 Object 参数 + Fastjson 多态的血泪教训
后端
振鹏Dong27 分钟前
微服务架构及常见微服务技术栈
java·后端
丶小鱼丶28 分钟前
二叉树算法之【中序遍历】
java·算法
程序员爱钓鱼1 小时前
Go语言实战案例:简易JSON数据返回
后端·go·trae
程序员爱钓鱼1 小时前
Go语言实战案例:用net/http构建一个RESTful API
后端·go·trae
bobz9652 小时前
firewalld 添加 nat 转发
后端
摇滚侠2 小时前
Oracle 关闭 impdp任务
java
编程爱好者熊浪2 小时前
RedisBloom使用
java
苇柠3 小时前
Spring框架基础(1)
java·后端·spring