当前位置: 首页 > news >正文

Spring Boot 常用注解大全

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

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

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

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

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

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

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

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    // Service logic here
}
  1. @Qualifier: 当多个实现类满足一个接口时,可以与 @Autowired 配合使用以指定具体要注入的Bean。

@Service
public class UserService {
    @Autowired
    @Qualifier("userDatabaseRepository")
    private UserRepository userRepository;

    // Service logic here
}
  1. @RequestMapping: 这个注解用于将HTTP请求映射到处理方法上。

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

@RestController
@RequestMapping("/api")
public class MyController {
    @GetMapping("/get")
    public String get() {
        return "GET Request";
    }

    @PostMapping("/post")
    public String post() {
        return "POST Request";
    }

    @PutMapping("/put")
    public String put() {
        return "PUT Request";
    }

    @DeleteMapping("/delete")
    public String delete() {
        return "DELETE Request";
    }
}
  1. @RequestParam: 这个注解用于从请求中获取参数的值。

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

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

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

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

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

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

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

@Component
public class MyComponent {
    @Value("${my.property}")
    private String myProperty;

    // Component logic here
}

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

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

相关文章:

  • 【数据结构与算法】常见排序算法(Sorting Algorithm)
  • leetcode热题100学习计划-链表-反转链表
  • 对象变更记录objectlog工具(持续跟新)
  • Mybatis - generator(自动生成)
  • 蓝桥杯(3.2)
  • 前端vue后端go实现大文件分片下载
  • python笔记_程序流程控制
  • python毕设选题 - 大数据商城人流数据分析与可视化 - python 大数据分析
  • kafka消费者重平衡是什么?怎么避免?
  • GPT与MBR:硬盘分区表格式的革新与区别
  • sql基本语法+实验实践
  • 李沐动手学习深度学习——3.2练习
  • leetcode 简单
  • type may not be empty [type-empty]
  • 飞天使-学以致用-devops知识点4-SpringBoot项目CICD实现(实验失败,了解大概流程)
  • 武器大师——操作符详解(下)
  • docker 转为docker-compose(composerize 命令)
  • OpenCV下载与变量配置
  • 苍穹外卖学习 Day10 Day11 Day12
  • Unity(第十四部)光照
  • 永辉超市一季度净利降近八成,未来12个月至18个月是改革成果集中释放期
  • 世联行:2024年营业收入下降27%,核心目标为“全面消除亏损公司和亏损项目”
  • 美联储官员:货币政策不会立即改变,金融市场波动或致美国经济增长承压
  • 一图读懂|上海海关公布一季度数据:钢材出口增长超143%
  • 网络达人“拿”别人的视频为自己带货赚佣金,法院判决赔偿1.4万元
  • 韩国检方重启调查金建希操纵股价案