大家好,作为新人,刚去公司肯定会遇见频率高的,且部分注解只知其然,而不知所以然,所以笔者今天也带着同样的疑惑对这些注解进行剖析,这里我尽量用最简短,通俗的话,减少大家阅读时间,方便理解,希望能帮助到大家!
@RestController源码解释:主要有Controller和ResponseBody组成
Controller:标记了这个类是一个控制器类, 将当前修饰的类注入SpringBoot IOC容器,当项目启动时,这个类就被实例化
ResponseBody:对所有类型格式,返回Json字符串的形式返回给客户端
@RequestMapping看了很多文档很详细,但他的主要作用就一句话可以概括:就是将你在前端页面或者swagger的请求定位到你控制器方法上
@Slf4j一句话概括:日志,有不少同学可能会问日志是什么东西,那我现在多说几句(就是当你执行一段代码的时候,控制台会有相应执行过程,当然有的人也会说不是有对应的日志文档吗,怎么没提,对,有兴趣可以去其他文章多了解了解)
@Autowired一句话概括:依赖注入(就是你在业务层的写的方法通过这个注解就能调用到,就完事了(关于这个注解被大家写烂了,不过多复述,有兴趣可以去多学习学习))
@PostMapping一句话概括:
这个就是你使用post请求之后传的参数格式类型,增删改查都能满足,用的也相对比较多
@GetMapping一句话概括:
就是你在网页上是吧,你输入你的什么地址之后,定位到方法之后,是不是需要传参数呢,直接在后面打一个?加上参数名,然后告诉你的方法参数值是多少。
@TableName一句话概括:
让程序知道你该实体类,对应在数据库的表名。
@Length一句话概括:
对字段的长度做逻辑处理,比如限制前台输入相关类型长度。
@Pattern一句话概括:
对前台输入的字符格式进行限制,(一般在相关字段做控制,参数填入正则表达式即可)
以下是常用的正则表达式:
1 匹配首尾空格的正则表达式:(^s*)|(s*$)
2 整数或者小数:^[0-9]+.{0,1}[0-9]{0,2}$
3 只能输入数字:"^[0-9]*$"。
4 只能输入n位的数字:"^d{n}$"。
5 只能输入至少n位的数字:"^d{n,}$"。
6 只能输入m~n位的数字:。"^d{m,n}$"
7 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
8 只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。
9 只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"。
10 只能输入非零的正整数:"^+?[1-9][0-9]*$"。
11 只能输入非零的负整数:"^-[1-9][]0-9"*$。
12 只能输入长度为3的字符:"^.{3}$"。
13 只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。
14 只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。
15 只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。
16 只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"。
17 只能输入由数字、26个英文字母或者下划线组成的字符串:"^w+$"。
18 验证用户密码:"^[a-zA-Z]w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
19 验证是否含有^%&',;=?$"等字符:"[^%&',;=?$x22]+"。
20 只能输入汉字:"^[u4e00-u9fa5]{0,}$"
21 验证Email地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"。
22 验证InternetURL:"^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$"。
23 验证电话号码:"^((d{3,4}-)|d{3.4}-)?d{7,8}$"正确格式为:"XXX-XXXXXXX",
"XXXX-XXXXXXXX"、,
"XXX-XXXXXXX",
"XXX-XXXXXXXX",
"XXXXXXX","XXXXXXXX"
24 验证身份证号(15位或18位数字):"^d{15}|d{18}$"。
25 验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"1"~"12"。
26 验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"和"1"~"31"。
27 匹配中文字符的正则表达式: [u4e00-u9fa5]
28 匹配双字节字符(包括汉字在内):[^x00-xff]
29 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
30 String.prototype.len=function(){return this.replace(/[^x00-xff]/g,"aa").length;}
31 匹配空行的正则表达式:n[s| ]*r
32 匹配html标签的正则表达式:<(.*)>(.*)(.*)>|<(.*)/>



