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,非空
SpringBoot常用注解以及作用相关推荐
- 近100个Spring/SpringBoot常用注解汇总!
作者 | Guide 来源 | JavaGuide(微信公众号) 毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我 ...
- 接近8000字的Spring/SpringBoot常用注解总结!安排!
文章目录 0.前言 1. `@SpringBootApplication` 2. Spring Bean 相关 2.1. `@Autowired` 2.2. `Component`,`@Reposit ...
- 【SpringBoot】SpringBoot常用注解
一.前言 首先这里说的SpringBoot常用注解是指在我们开发项目过程中,我们经常使用的注解,包含Spring.SpringBoot.SpringCloud.SpringMVC等这些框架中的注解,而 ...
- SpringBoot常用注解
1.@SpringBootApplication 包含@Configuration.@EnableAutoConfiguration.@ComponentScan通常用在主类上: 2.@Compone ...
- Spring/SpringBoot常用注解总结!
0.前言 可以毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我都说了具体用法,掌握搞懂,使用 SpringBoot ...
- SpringBoot2.1.5 (4)---SpringBoot 常用注解说明
SpringBoot2.1.5 (4)---SpringBoot 常用注解说明 @SpringBootApplication Spring Boot的项目一般都会有*Application的入口类,入 ...
- Spring/SpringBoot常用注解总结
目录如下,内容有点多: 1. @SpringBootApplication 这里先单独拎出@SpringBootApplication 注解说一下,虽然我们一般不会主动去使用它. 注:这个注解是 Sp ...
- 40 个 SpringBoot 常用注解
以下文章来源方志朋的博客,回复"666"获面试宝典 来源:https://ramostear.com/ 一.Spring Web MVC 与 Spring Bean 注解 Spri ...
- 2-7 SpringBoot常用注解讲解
首先,讲解一下RestController @RestController RestController是Controller和ResponseBody的结合. RnableAutoConfigura ...
最新文章
- mysql begin end 批量更新_MySql中4种批量更新的方法
- 交换机和路由器的区别_路由器与交换机的区别?
- RPC 【Remote Procedure Call】 原理
- 扩展thinkphp5的redis类方法
- Java EE与NoSQL的未来
- 云数据库精华问答 | 现有数据库优化到云环境有什么好处​?
- 蓝桥杯第八届省赛JAVA真题----迷宫
- ds--8600使用手册_我如何用57行代码复制一个价值8600万美元的项目
- 诛仙服务器技能修改,2021年5月21日正式服技能修改公告
- Android P cdd(Android 兼容性定义文档)
- 恢复训练记录20210809
- 天翎低代码平台助力企业业务流程集成,为企业降本增效
- mysql 13位时间戳转时间戳_时间戳换算(13位时间戳转换工具 在线)
- QQ 简洁模式切换失败解决方法
- js给img的src赋值
- EBS 采购订单接口导入
- 机器人工具坐标系标定
- OpenCV-python:SVM(支持向量机)OCR手写识别
- 微信的分享功能(针对web手机站页面进行的分享功能)
- jsp校园时光相册管理系统ssh
热门文章
- .Net Core下使用 RSA
- O2O、C2C、B2B、B2C的区别
- Linux系统调用getuid的简单分析
- 换个红圈1微信头像恶搞一下好友
- 编写一个文件目录常用操作的类
- row_number() over使用方法
- linux的tomcat如何开机自启,linux tomcat开机自启
- 打开python文件式_Python File(文件) 方法
- Flink-org.apache.flink.streaming.api.windowing.windows.Window
- 打孔怎么定位_不粘锅是怎么制造出来的?看完工艺流程真的清楚了「精彩动图」...