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)