Spring/Spring Boot 常用注解总结

青春无悔 2024-06-15T12:01:15+08:00
0 0 228

1. @Autowired

@Autowired 是 Spring 提供的最常用的注解之一,用于自动装配依赖。通过在需要自动注入的字段、方法或构造函数上添加 @Autowired 注解,Spring 将会自动寻找匹配的 Bean 并进行注入,避免了手动实例化和维护对象之间的依赖关系的麻烦。

例如,下面的代码片段演示了在一个 Spring Boot 项目中,如何使用 @Autowired 注解自动注入一个 UserService 接口的实现类:

@Service
public class UserServiceImpl implements UserService {
    // ...
}

@RestController
public class UserController {
    @Autowired
    private UserService userService;
    // ...
}

2. @RequestMapping

@RequestMapping 注解是 Spring MVC 中最常用的注解之一,用于将一个 HTTP 请求映射到一个处理器方法或控制器类上。可以通过指定 URL 路径、HTTP 方法、请求参数等条件来精确匹配请求。

下面是一个简单的示例,展示了如何使用 @RequestMapping 注解将一个 HTTP GET 请求映射到一个处理器方法上:

@RestController
public class HelloController {
    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    public String sayHello() {
        return "Hello, Spring!";
    }
}

3. @RestController

@RestController 是一个组合注解,相当于 @Controller@ResponseBody 的合并。标注有 @RestController 的类将会自动注册为一个 Spring Bean,并且其返回的结果将会直接作为 HTTP 响应体内容返回给客户端,而不是通过视图解析器进行渲染。

例如,下面的代码片段演示了如何使用 @RestController 注解创建一个简单的 RESTful API:

@RestController
@RequestMapping("/api/books")
public class BookController {
    @Autowired
    private BookService bookService;
    
    @GetMapping
    public List<Book> getAllBooks() {
        return bookService.getAllBooks();
    }
    
    @PostMapping
    public Book createBook(@RequestBody Book book) {
        return bookService.createBook(book);
    }
    
    // ...
}

4. @PathVariable

@PathVariable 注解用于将 URL 中的路径参数绑定到方法的参数上。通过在方法参数前添加 @PathVariable 注解,并指定参数名称,Spring 将自动将路径参数的值绑定到对应的方法参数上。

例如,在下面的示例中,{id} 是一个路径参数,@PathVariable("id") 将会将该参数的值绑定到 id 参数上:

@RestController
@RequestMapping("/api/books")
public class BookController {
    @Autowired
    private BookService bookService;
    
    @GetMapping("/{id}")
    public Book getBookById(@PathVariable("id") Long id) {
        return bookService.getBookById(id);
    }
    
    // ...
}

5. @RequestParam

@RequestParam 注解用于将 HTTP 请求参数绑定到方法的参数上。通过在方法参数前添加 @RequestParam 注解,并指定参数名称,Spring 将自动将请求参数的值绑定到对应的方法参数上。

例如,在下面的示例中,name 是一个请求参数,@RequestParam("name") 将会将该参数的值绑定到 name 参数上:

@RestController
@RequestMapping("/api/hello")
public class HelloController {
    @GetMapping
    public String sayHello(@RequestParam("name") String name) {
        return "Hello, " + name + "!";
    }
}

这只是 Spring/Spring Boot 中常用注解的一小部分,还有很多其他注解用于实现更多功能和定制化的需求。总结而言,注解在 Spring/Spring Boot 中扮演了非常重要的角色,通过合理使用注解,可以简化开发过程、提高代码的可读性和可维护性。

相似文章

    评论 (0)