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);
    }
}
相关推荐
天天被压力7 分钟前
【A股分钟级高频数据完全手册 #04】指数分钟级行情数据接口:沪深指数Pro版最新分时取数
java·人工智能·python
敲代码的小小酥10 分钟前
谈SpringMVC与Spring WebFlux的区别与适用场景
java·后端·spring
IT_陈寒10 分钟前
Redis开发实战:从入门到精通
前端·人工智能·后端
日日大王学编程13 分钟前
2026主流AI Agent产品分类、核心差异与技术特性全解析
人工智能·后端·python
天天被压力17 分钟前
【A股分钟级高频数据完全手册 #03】股票历史1分钟K线数据接口怎么用:Pro版批量拉取与本地缓存
java·人工智能·python
apcipot_rain23 分钟前
C++转Java日记(02)
java·开发语言·c++
nice_lcj52032 分钟前
【从零理解 Spring AI · 03】Spring AI 在 Spring 生态里的位置
java·spring boot·大模型·spring ai·ai应用开发
mldong42 分钟前
同一个节点接力办几轮,流程才往下走:jeeflow 的后加签
后端·架构
量化分析码农1 小时前
【Python量化多因子实战 03】多因子怎么合成?等权、IC 加权与回归加权实测
后端
深蓝AI9 小时前
JWT 不是登录方案:三种登录态架构怎么选
后端