Springboot注解大全

博主不喜欢说废话,直接开场吧

1、@SpringBootApplication

     一般不会主动去使用它,但是要知道它是一个组合注解,@Configuration  、@EnableAutoConfiguration 、@ComponentScan  注解的集合

2、@Configuration 

      用@Configuration注释类表明是一个配置类,允许在 Spring 上下文中注册额外的 bean 或导入其他配置类。

3、@EnableAutoConfiguration

      该注解就是用来开启自动配置的,自动配置原理可以去看一下博主springboot系列记录中的文章

4、@ComponentScan

      @ComponentScan用于类或接口上主要是指定扫描路径,spring会把指定路径下带有指定注解的类自动装配到bean容器里。会被自动装配的注解包括@Controller@Service@Component@Repository等等。其作用等同于<context:component-scan base-package="com.xxx.xxx" />配置

5、@Autowired、@Qualifier

@Autowired它可以对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作,默认是按照类去匹配

当有多个同一类型的Bean时,可以用@Qualifier(“name”)来指定。与@Autowired配合使用

6、@Component,@Respository,@Service,@Controller

  • @Component :通用的注解,可标注任意类为 Spring组件。如果一个 Bean 不知道属于哪个层,可以使用@Component 注解标注。
  • @Repository : 对应持久层即 Dao 层,主要用于数据库相关操作。
  • @Service : 对应服务层,主要涉及一些复杂的逻辑,需要用到 Dao 层。
  • @Controller : 对应 Spring MVC 控制层,主要用户接受用户请求并调用 Service 层返回数据给前端页面。

7、@RequestMapping

是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

该注解中的属性释义:

  • value:     指定请求的实际地址
  • method:  指定请求的method类型, GET、POST、PUT、DELETE等;
  • consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
  • produces:    指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
  • params: 指定request中必须包含某些参数值是,才让该方法处理。
  • headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。

8、@ResponseBody

@ResponseBody注解既可以在方法上使用,也可以在类上使用,在类上使用表明该类中所有方法均返回JSON数据,也可以与@Controller注解合并为@RestController。它的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。
注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。

9、@GetMapping @PutMapping @PostMapping @DeleteMapping

也就是对应HTTP的请求方式,

  • GET :请求从服务器获取特定资源。举个例子:GET        /users(获取所有学生)
  • POST :在服务器上创建一个新的资源。举个例子:POST       /users(创建学生)
  • PUT :更新服务器上的资源(客户端提供更新后的整个资源)。举个例子:PUT       /users/12(更新编号为 12 的学生)
  • DELETE :从服务器删除特定的资源。举个例子:DELETE      /users/12(删除编号为 12 的学生)

@DeleteMapping为例子来看一下

@DeleteMapping("/users/{userId}")等价于@RequestMapping(value="/users/{userId}",method=RequestMethod.DELETE)

10、@PathVariable

@PathVariable就是用于获取路径参数

@RequestMapping("/getUserById/{name}")
    public User getUser(@PathVariable("name") String name){
        return userService.getUser(name);
    }

11、@RequestParam

用于获取查询参数,

语法:@RequestParam(value=”参数名”,required=”true/false”,defaultValue=””)

  • value:参数名
  • required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。
  • defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值

12、@RequestBody

不要和@ResponseBody混淆了,@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的),Content-Type 为 application/json 格式;GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。

比如前端以post方式传json字符串,此时后端就可以使用@RequestBody来接收

13、@Value、@ConfigurationProperties

 这一类注解建议看 Springboot系列记录(二)——Springboot配置文件的读取

14、@DateTimeFormat、@JsonFormat

实体类User有个Date类型的属性birthday,然后用该实体类接收从前端传来的参数,我们会发现报了400异常。

因为前端传去的是字符串类型,而实体类中是Date类型,那么此时就可以使用@DateTimeFormat

已经可以了,但是这种格式不是我们想要的,那么@JsonFormat登场了,timezone:是时间设置为东八区,避免时间在转换中有误差

可见:@DateTimeFormat是前台到后台的时间转换,而@JsonFormat是后台到前台的转换

15、@Import

@Import只能用在类上 ,@Import通过快速导入的方式实现把实例加入spring的IOC容器中

用法:

@Import({ 类名.class , 类名.class... })

 

 

 

  • 10
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
以下是一些常用的 Spring Boot 注解: 1. @SpringBootApplication:这是一个组合注解,包括 @Configuration、@EnableAutoConfiguration 和 @ComponentScan,用于标注 Spring Boot 应用的主类。 2. @RestController:用于标注 RESTful 架构的控制器类,同时也包括 @Controller 和 @ResponseBody 注解的功能。 3. @RequestMapping:用于映射 HTTP 请求 URL 到相应的控制器方法上。 4. @GetMapping:用于映射 HTTP GET 请求 URL 到相应的控制器方法上。 5. @PostMapping:用于映射 HTTP POST 请求 URL 到相应的控制器方法上。 6. @PutMapping:用于映射 HTTP PUT 请求 URL 到相应的控制器方法上。 7. @DeleteMapping:用于映射 HTTP DELETE 请求 URL 到相应的控制器方法上。 8. @RequestParam:用于将 HTTP 请求的参数绑定到控制器方法的参数上。 9. @PathVariable:用于将 URL 的变量绑定到控制器方法的参数上。 10. @RequestBody:用于将 HTTP 请求体的数据绑定到控制器方法的参数上。 11. @ResponseBody:用于将控制器方法返回的数据直接写入 HTTP 响应体。 12. @Autowired:用于自动装配 Spring Bean。 13. @Value:用于将配置文件的属性值注入到 Spring Bean 。 14. @Component:用于标注 Spring Bean。 15. @Service:用于标注业务逻辑层的 Spring Bean。 16. @Repository:用于标注数据访问层的 Spring Bean。 17. @Configuration:用于标注 Spring 配置类。 18. @EnableAutoConfiguration:用于自动配置 Spring Boot 应用。 19. @ConditionalOnProperty:用于根据配置文件的属性值来决定是否启用某个配置项。 20. @EnableCaching:用于启用 Spring Cache。 21. @EnableScheduling:用于启用定时任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LoneWalker、

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值