Spring Boot核心注解速查手册

Spring Boot 常用注解分类整理

核心启动与配置注解

@SpringBootApplication
标记主启动类,是 @Configuration@EnableAutoConfiguration@ComponentScan 的组合注解。

@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

@Configuration
声明当前类为配置类,替代 XML 配置文件。

@Configuration
public class AppConfig {
    @Bean
    public MyService myService() {
        return new MyServiceImpl();
    }
}

@Bean
在配置类中定义 Bean,方法返回值作为 Bean 实例。

@Bean
public DataSource dataSource() {
    return new HikariDataSource();
}

依赖注入与组件扫描

@Component
通用组件注解,标记类为 Spring 管理的 Bean。

@Component
public class MyComponent {
    // 业务逻辑
}

@Service
标注服务层组件,功能与 @Component 相同,语义化更强。

@Service
public class UserService {
    public void saveUser(User user) { /* ... */ }
}

@Repository
标注数据访问层(DAO)组件,自动处理数据库异常。

@Repository
public class UserRepository {
    // JPA 或 MyBatis 操作
}

@Autowired
自动注入依赖,可省略 setter 方法。

@Service
public class OrderService {
    @Autowired
    private UserRepository userRepository;
}

Web 开发相关注解

@RestController
组合 @Controller@ResponseBody,直接返回 JSON/XML 数据。

@RestController
@RequestMapping("/api")
public class UserController {
    @GetMapping("/users")
    public List<User> getUsers() { /* ... */ }
}

@RequestMapping
定义请求映射路径,支持类和方法级别。

@RequestMapping(value = "/users", method = RequestMethod.GET)
public List<User> listUsers() { /* ... */ }

@GetMapping / @PostMapping
简化 HTTP 方法映射的快捷注解。

@PostMapping("/save")
public ResponseEntity<String> save(@RequestBody User user) {
    // 保存逻辑
    return ResponseEntity.ok("Success");
}

@PathVariable
从 URL 路径中获取参数。

@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) { /* ... */ }

@RequestParam
获取查询参数或表单数据。

@GetMapping("/search")
public List<User> search(@RequestParam String keyword) { /* ... */ }

配置与属性绑定

@Value
注入配置文件中的属性值。

@Value("${app.name}")
private String appName;

@ConfigurationProperties
批量绑定属性到 Java 对象。

@ConfigurationProperties(prefix = "database")
public class DatabaseConfig {
    private String url;
    private String username;
    // getters & setters
}

事务管理

@Transactional
声明式事务管理,标注方法或类。

@Service
public class OrderService {
    @Transactional
    public void placeOrder(Order order) {
        // 数据库操作
    }
}

测试相关注解

@SpringBootTest
启动完整 Spring 上下文进行集成测试。

@SpringBootTest
class UserServiceTest {
    @Autowired
    private UserService userService;
    // 测试方法
}

@MockBean
模拟依赖的 Bean,用于单元测试。

@SpringBootTest
class PaymentServiceTest {
    @MockBean
    private PaymentGateway paymentGateway;
    // 测试逻辑
}

其他实用注解

@Scheduled
定时任务调度。

@Component
public class ReportGenerator {
    @Scheduled(cron = "0 0 9 * * ?")
    public void generateDailyReport() { /* ... */ }
}

@Async
异步方法调用。

@Service
public class EmailService {
    @Async
    public void sendEmail(String to) { /* ... */ }
}

通过合理使用这些注解,可以显著简化 Spring Boot 开发流程,提升代码可读性和维护性。实际开发中需根据场景选择合适注解组合。

BbS.okapop123.sbs/PoSt/1122_357135.HtM
BbS.okapop124.sbs/PoSt/1122_508115.HtM
BbS.okapop125.sbs/PoSt/1122_505240.HtM
BbS.okapop126.sbs/PoSt/1122_742123.HtM
BbS.okapop127.sbs/PoSt/1122_616970.HtM
BbS.okapop128.sbs/PoSt/1122_845021.HtM
BbS.okapop129.sbs/PoSt/1122_612817.HtM
BbS.okapop130.sbs/PoSt/1122_636017.HtM
BbS.okapop131.sbs/PoSt/1122_432264.HtM
BbS.okapop132.sbs/PoSt/1122_949776.HtM
BbS.okapop123.sbs/PoSt/1122_947891.HtM
BbS.okapop124.sbs/PoSt/1122_333310.HtM
BbS.okapop125.sbs/PoSt/1122_292927.HtM
BbS.okapop126.sbs/PoSt/1122_952518.HtM
BbS.okapop127.sbs/PoSt/1122_147437.HtM
BbS.okapop128.sbs/PoSt/1122_570704.HtM
BbS.okapop129.sbs/PoSt/1122_065868.HtM
BbS.okapop130.sbs/PoSt/1122_393968.HtM
BbS.okapop131.sbs/PoSt/1122_606348.HtM
BbS.okapop132.sbs/PoSt/1122_780912.HtM
BbS.okapop123.sbs/PoSt/1122_263119.HtM
BbS.okapop124.sbs/PoSt/1122_581859.HtM
BbS.okapop125.sbs/PoSt/1122_920255.HtM
BbS.okapop126.sbs/PoSt/1122_214315.HtM
BbS.okapop127.sbs/PoSt/1122_659701.HtM
BbS.okapop128.sbs/PoSt/1122_807442.HtM
BbS.okapop129.sbs/PoSt/1122_635029.HtM
BbS.okapop130.sbs/PoSt/1122_720951.HtM
BbS.okapop131.sbs/PoSt/1122_995648.HtM
BbS.okapop132.sbs/PoSt/1122_395628.HtM
BbS.okapop123.sbs/PoSt/1122_787623.HtM
BbS.okapop124.sbs/PoSt/1122_013937.HtM
BbS.okapop125.sbs/PoSt/1122_872596.HtM
BbS.okapop126.sbs/PoSt/1122_745782.HtM
BbS.okapop127.sbs/PoSt/1122_456617.HtM
BbS.okapop128.sbs/PoSt/1122_594579.HtM
BbS.okapop129.sbs/PoSt/1122_297282.HtM
BbS.okapop130.sbs/PoSt/1122_803810.HtM
BbS.okapop131.sbs/PoSt/1122_093063.HtM
BbS.okapop132.sbs/PoSt/1122_008754.HtM
BbS.okapop123.sbs/PoSt/1122_356097.HtM
BbS.okapop124.sbs/PoSt/1122_707792.HtM
BbS.okapop125.sbs/PoSt/1122_921241.HtM
BbS.okapop126.sbs/PoSt/1122_908167.HtM
BbS.okapop127.sbs/PoSt/1122_244748.HtM
BbS.okapop128.sbs/PoSt/1122_515027.HtM
BbS.okapop129.sbs/PoSt/1122_846561.HtM
BbS.okapop130.sbs/PoSt/1122_780521.HtM
BbS.okapop131.sbs/PoSt/1122_793776.HtM
BbS.okapop132.sbs/PoSt/1122_751397.HtM
BbS.okapop123.sbs/PoSt/1122_027309.HtM
BbS.okapop124.sbs/PoSt/1122_122889.HtM
BbS.okapop125.sbs/PoSt/1122_554490.HtM
BbS.okapop126.sbs/PoSt/1122_116443.HtM
BbS.okapop127.sbs/PoSt/1122_847650.HtM
BbS.okapop128.sbs/PoSt/1122_460085.HtM
BbS.okapop129.sbs/PoSt/1122_421712.HtM
BbS.okapop130.sbs/PoSt/1122_210813.HtM
BbS.okapop131.sbs/PoSt/1122_457476.HtM
BbS.okapop132.sbs/PoSt/1122_776899.HtM
BbS.okapop123.sbs/PoSt/1122_699305.HtM
BbS.okapop124.sbs/PoSt/1122_365772.HtM
BbS.okapop125.sbs/PoSt/1122_789951.HtM
BbS.okapop126.sbs/PoSt/1122_937164.HtM
BbS.okapop127.sbs/PoSt/1122_874250.HtM
BbS.okapop128.sbs/PoSt/1122_030977.HtM
BbS.okapop129.sbs/PoSt/1122_157493.HtM
BbS.okapop130.sbs/PoSt/1122_014864.HtM
BbS.okapop131.sbs/PoSt/1122_226394.HtM
BbS.okapop132.sbs/PoSt/1122_777888.HtM
BbS.okapop123.sbs/PoSt/1122_730834.HtM
BbS.okapop124.sbs/PoSt/1122_961097.HtM
BbS.okapop125.sbs/PoSt/1122_727209.HtM
BbS.okapop126.sbs/PoSt/1122_472388.HtM
BbS.okapop127.sbs/PoSt/1122_463665.HtM
BbS.okapop128.sbs/PoSt/1122_747344.HtM
BbS.okapop129.sbs/PoSt/1122_146337.HtM
BbS.okapop130.sbs/PoSt/1122_691297.HtM
BbS.okapop131.sbs/PoSt/1122_098891.HtM
BbS.okapop132.sbs/PoSt/1122_826494.HtM

#牛客AI配图神器#

全部评论

相关推荐

10-17 17:54
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务