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

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

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

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

@ServicepublicclassUserService{//Servicelogichere}
  1. @Repository: 这个注解用于标识一个类是数据访问层的组件。

@RepositorypublicclassUserRepository{//Dataaccesslogichere}
  1. @Component: 这个注解用于标识一个类是Spring的组件。

@ComponentpublicclassMyComponent{//Componentlogichere}
  1. @Autowired: 这个注解用于自动装配Spring Bean。

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

@ServicepublicclassUserService{@Autowired@Qualifier("userDatabaseRepository")privateUserRepositoryuserRepository;//Servicelogichere}
  1. @RequestMapping: 这个注解用于将HTTP请求映射到处理方法上。

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

@RestController@RequestMapping("/api")publicclassMyController{@GetMapping("/get")publicStringget(){return"GETRequest";}@PostMapping("/post")publicStringpost(){return"POSTRequest";}@PutMapping("/put")publicStringput(){return"PUTRequest";}@DeleteMapping("/delete")publicStringdelete(){return"DELETERequest";}}
  1. @RequestParam: 这个注解用于从请求中获取参数的值。

@GetMapping("/user")publicStringgetUserById(@RequestParamLongid){//logictofetchuserbyid}
  1. @PathVariable: 这个注解用于从请求的URL中获取参数的值。

@GetMapping("/user/{id}")publicStringgetUserById(@PathVariableLongid){//logictofetchuserbyid}
  1. @ResponseBody: 这个注解用于将方法返回的对象转换为HTTP响应的主体部分。

@GetMapping("/user")@ResponseBodypublicUsergetUser(){//logictofetchuserreturnuser;}
  1. @RequestBody: 这个注解用于将HTTP请求的主体部分转换为方法参数。

@PostMapping("/user")publicStringaddUser(@RequestBodyUseruser){//logictoadduser}
  1. @ResponseStatus: 这个注解用于指定方法返回的HTTP状态码。

@ResponseStatus(HttpStatus.NOT_FOUND)publicclassResourceNotFoundExceptionextendsRuntimeException{//Exceptionhandlinglogichere}
  1. @ExceptionHandler: 这个注解用于定义全局异常处理方法。

@ControllerAdvicepublicclassGlobalExceptionHandler{@ExceptionHandler(Exception.class)publicStringhandleException(Exceptionex){//Exceptionhandlinglogicherereturn"error";}}
  1. @Configuration: 这个注解用于定义配置类,通常与 @Bean 注解一起使用。

@ConfigurationpublicclassAppConfig{@BeanpublicUserServiceuserService(){returnnewUserService();}}
  1. @Value: 这个注解用于从配置文件中获取值。

@ComponentpublicclassMyComponent{@Value("${my.property}")privateStringmyProperty;//Componentlogichere}

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