• Spring Boot 常用注解大全


    以下是Spring Boot中常用的注解及其详细解释以及相应的代码示例:

    1. @SpringBootApplication: 这个注解用于标识一个Spring Boot应用的主类。它整合了 @Configuration@EnableAutoConfiguration@ComponentScan

    1. @SpringBootApplication
    2. public class DemoApplication {
    3.     public static void main(String[] args) {
    4.         SpringApplication.run(DemoApplication.class, args);
    5.     }
    6. }
    1. @RestController: 这个注解用于定义一个RESTful控制器,在Spring MVC中它表示所有的处理方法都返回一个Restful风格的数据。

    1. @RestController
    2. public class HelloController {
    3.     @GetMapping("/hello")
    4.     public String hello() {
    5.         return "Hello, World!";
    6.     }
    7. }
    1. @Service: 这个注解用于标识一个类是业务逻辑层的组件。

    1. @Service
    2. public class UserService {
    3.     // Service logic here
    4. }
    1. @Repository: 这个注解用于标识一个类是数据访问层的组件。

    1. @Repository
    2. public class UserRepository {
    3.     // Data access logic here
    4. }
    1. @Component: 这个注解用于标识一个类是Spring的组件。

    1. @Component
    2. public class MyComponent {
    3.     // Component logic here
    4. }
    1. @Autowired: 这个注解用于自动装配Spring Bean。

    1. @Service
    2. public class UserService {
    3.     @Autowired
    4.     private UserRepository userRepository;
    5.     // Service logic here
    6. }
    1. @Qualifier: 当多个实现类满足一个接口时,可以与 @Autowired 配合使用以指定具体要注入的Bean。

    1. @Service
    2. public class UserService {
    3.     @Autowired
    4.     @Qualifier("userDatabaseRepository")
    5.     private UserRepository userRepository;
    6.     // Service logic here
    7. }
    1. @RequestMapping: 这个注解用于将HTTP请求映射到处理方法上。

    1. @RestController
    2. @RequestMapping("/api")
    3. public class MyController {
    4.     @GetMapping("/hello")
    5.     public String hello() {
    6.         return "Hello, World!";
    7.     }
    8. }
    1. @GetMapping, @PostMapping, @PutMapping, @DeleteMapping: 这些注解用于将HTTP GET、POST、PUT、DELETE 请求映射到处理方法上。

    1. @RestController
    2. @RequestMapping("/api")
    3. public class MyController {
    4.     @GetMapping("/get")
    5.     public String get() {
    6.         return "GET Request";
    7.     }
    8.     @PostMapping("/post")
    9.     public String post() {
    10.         return "POST Request";
    11.     }
    12.     @PutMapping("/put")
    13.     public String put() {
    14.         return "PUT Request";
    15.     }
    16.     @DeleteMapping("/delete")
    17.     public String delete() {
    18.         return "DELETE Request";
    19.     }
    20. }
    1. @RequestParam: 这个注解用于从请求中获取参数的值。

    1. @GetMapping("/user")
    2. public String getUserById(@RequestParam Long id) {
    3.     // logic to fetch user by id
    4. }
    1. @PathVariable: 这个注解用于从请求的URL中获取参数的值。

    1. @GetMapping("/user/{id}")
    2. public String getUserById(@PathVariable Long id) {
    3.     // logic to fetch user by id
    4. }
    1. @ResponseBody: 这个注解用于将方法返回的对象转换为HTTP响应的主体部分。

    1. @GetMapping("/user")
    2. @ResponseBody
    3. public User getUser() {
    4.     // logic to fetch user
    5.     return user;
    6. }
    1. @RequestBody: 这个注解用于将HTTP请求的主体部分转换为方法参数。

    1. @PostMapping("/user")
    2. public String addUser(@RequestBody User user) {
    3.     // logic to add user
    4. }
    1. @ResponseStatus: 这个注解用于指定方法返回的HTTP状态码。

    1. @ResponseStatus(HttpStatus.NOT_FOUND)
    2. public class ResourceNotFoundException extends RuntimeException {
    3.     // Exception handling logic here
    4. }
    1. @ExceptionHandler: 这个注解用于定义全局异常处理方法。

    1. @ControllerAdvice
    2. public class GlobalExceptionHandler {
    3.     @ExceptionHandler(Exception.class)
    4.     public String handleException(Exception ex) {
    5.         // Exception handling logic here
    6.         return "error";
    7.     }
    8. }
    1. @Configuration: 这个注解用于定义配置类,通常与 @Bean 注解一起使用。

    1. @Configuration
    2. public class AppConfig {
    3.     @Bean
    4.     public UserService userService() {
    5.         return new UserService();
    6.     }
    7. }
    1. @Value: 这个注解用于从配置文件中获取值。

    1. @Component
    2. public class MyComponent {
    3.     @Value("${my.property}")
    4.     private String myProperty;
    5.     // Component logic here
    6. }

    以上是一些常见的Spring Boot注解及其用法示例。在实际开发中,可能还会使用到其他的注解,具体根据项目需求和设计选择。

    原文地址:Spring Boot 常用注解大全

  • 相关阅读:
    Mac idea启动vue项目的时候报Permission denied
    Delphi DataSet转JSon (使用SuperObject)
    请问Graph Kernel Fusion(图算融合)在mindspore1.7.0下会生成融合后的mindIR的.dot文件吗
    参与活动如何进行地区的限制
    2022 Q2 - 提升技能的技巧总结
    睿伴科创上线了
    SQL教育行业案例:如何分析​复购用户?(窗口函数、timestampdiff、date)
    学习网站集锦_001
    YOLO改进系列之注意力机制(GAM Attention模型介绍)
    C++学习笔记1----STL容器知识简要小结
  • 原文地址:https://blog.csdn.net/u012613251/article/details/136227384