SpringBoot常用注解以及作用

1.@SpringBootApplication
这个注解是 Spring Boot 项目的基石,创建 SpringBoot 项目之后会默认在主类加上。
@SpringBootApplication 是 @Configuration 、@EnableAutoConfiguration、
@ComponentScan注解的集合。

  • @EnableAutoConfiguration:启用 SpringBoot 的自动配置机制
  • @ComponentScan: 扫描被@Component (@Service,@Controller)注解的 bean,注解默认会扫描该类所在的包下所有的类。
  • @Configuration:允许在 Spring 上下文中注册额外的 bean 或导入其他配置类

2.@Autowired
@Autowired 注解让 Spring 容器帮我们自动装配 bean。在当前层要使用其他层的时候需要用到。

3.常见的 HTTP 请求类型
@RequestMapping()

  • GET请求:
    @GetMapping(“users”) 等价于@RequestMapping(value="/users",method=RequestMethod.GET)

  • POST请求:
    @PostMapping(“users”) 等价于@RequestMapping(value="/users",method=RequestMethod.POST)

  • PUT请求:
    @PutMapping("/users/{userId}") 等价于@RequestMapping(value="/users/{userId}",method=RequestMethod.PUT)

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

  • PATCH 请求:
    @PatchMapping("/profile")

4.@Component
通用的注解,可标注任意类为 Spring 组件。如果一个 Bean 不知道属于哪个层,可以使用@Component 注解标注。

5.Dao层注解:
@Repository : 对应持久层即 Dao 层,主要用于数据库相关操作。
@Param是地处Dao层,是为了传递多个参数,解决的是可读性和直观性;

6.Service层注解:

  • @Service : 对应服务层,主要涉及一些复杂的逻辑,需要用到 Dao 层。
  • @Transactional开启事务

7.Controller层:

  • @Controller : 对应 Spring MVC 控制层,主要用户接受用户请求并调用 Service 层返回数据给前端页面。
  • @RestController注解是@Controller和@ResponseBody的合集,表示这是个控制器 bean
  • @RequestParam是位列Controller层,作用是为获取前端参数,解决的是前后端参数不一致的问题。
  • @PathVariable用于获取路径参数
  • @RequestParam用于获取查询参数。
  • @RequestBody将请求的 body 中的 json 字符串转换为 java 对象。

8.读取配置信息:

  • @Value("${property}") 读取比较简单的配置信息
  • @ConfigurationProperties读取配置信息并与 bean 绑定
  • @PropertySource读取指定 properties 文件

9.一些常用的字段验证的注解

  • @NotEmpty 被注释的字符串的不能为 null 也不能为空
  • @NotBlank 被注释的字符串非 null,并且必须包含一个非空白字符
  • @Null 被注释的元素必须为 null
  • @NotNull 被注释的元素必须不为 null
  • @AssertTrue 被注释的元素必须为 true
  • @AssertFalse 被注释的元素必须为 false
  • @Pattern(regex=,flag=)被注释的元素必须符合指定的正则表达式
  • @Email 被注释的元素必须是 Email 格式。
  • @Min(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值
  • @Max(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值
  • @DecimalMin(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值
  • @DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
  • @Size(max=, min=)被注释的元素的大小必须在指定的范围内
  • @Digits (integer, fraction)被注释的元素必须是一个数字,其值必须在可接受的范围内
  • @Past被注释的元素必须是一个过去的日期
  • @Future 被注释的元素必须是一个将来的日期

10.设置字段类型

  • @Column 声明字段。
@Column(name = "user_name", nullable = false, length=32)
private String userName;

设置属性 userName 对应的数据库字段名为 user_name,长度为 32,非空

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值