Spring Boot 常用注解汇总

浅夏微凉 2024-03-17 ⋅ 24 阅读

1. @SpringBootApplication

@SpringBootApplication 是一个复合注解,包含了 @Configuration@EnableAutoConfiguration@ComponentScan。使用该注解可以将一个Java类标记为Spring Boot应用的主类,自动扫描并注册Bean,同时开启自动配置。

代码示例:

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

2. @RestController

@RestController 是一个组合注解,相当于 @Controller@ResponseBody 的结合,使一个类可以被Spring MVC框架识别为控制器,并将返回值作为HTTP响应体。

代码示例:

@RestController
public class MyController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, world!";
    }
}

3. @Autowired

@Autowired 是一个成员注入注解,通过自动装配的方式将组件依赖对象注入到一个类的成员变量中。

代码示例:

@Service
public class MyService {
    private final MyRepository repository;
    
    @Autowired
    public MyService(MyRepository repository) {
        this.repository = repository;
    }
}

4. @RequestMapping

@RequestMapping 是一个类或方法级别的注解,用于映射HTTP请求路径和处理方法。在类级别上,可以定义基础路径,方法级别上可以定义具体的请求路径和HTTP方法。

代码示例:

@RestController
@RequestMapping("/users")
public class UserController {
    @GetMapping
    public List<User> getAllUsers() {
        // ...
    }
    
    @PostMapping
    public User createUser(@RequestBody User user) {
        // ...
    }
}

5. @PathVariable

@PathVariable 是一个方法参数注解,用于将URL路径中的占位符变量映射到方法参数中。

代码示例:

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

6. @RequestParam

@RequestParam 是一个方法参数注解,用于绑定请求参数到方法参数中。

代码示例:

@GetMapping("/users")
public List<User> getUsersByName(@RequestParam String name) {
    // ...
}

7. @Validated

@Validated 是一个类或方法级别的注解,用于开启参数校验功能。一般和 @Valid 注解一起使用。

代码示例:

@PostMapping("/users")
public User createUser(@Validated @RequestBody User user) {
    // ...
}

8. @ResponseBody

@ResponseBody 是一个方法级别的注解,用于将方法返回值直接作为HTTP响应体。

代码示例:

@GetMapping("/hello")
@ResponseBody
public String hello() {
    return "Hello, world!";
}

9. @ExceptionHandler

@ExceptionHandler 是一个方法级别的注解,用于定义处理特定异常的方法。

代码示例:

@ExceptionHandler(MyException.class)
public ResponseEntity<String> handleMyException(MyException ex) {
    // ...
}

以上是一些常用的Spring Boot注解,通过使用这些注解,我们可以简化代码、提高开发效率。希望本文能帮助你更好地理解和应用这些注解。

欢迎访问我的博客获取更多Spring Boot相关的内容。


全部评论: 0

    我有话说: