Spring注解学习笔记

        实习刚进公司,拿到项目代码之后,惊叹一声"What?"。发现自己什么也看不懂,那就先从注解开始学习吧!

@EqualsAndHashCode:

默认callSuper = false

callSuper = true 在子类编译后的equals()方法多了if(!super.equals(o)){return false;}的判断。也就是根据子类本身的字段值和从父类继承的字段值一同生成hashcode。callSuper = false只根据子类本身的字段值生成hashcode。当比较时,子类对象本身的字段值相同,即使父类字段值不同也返回true

@JsonSerialize:

using = ToStringSerializer.class,可以自定义需要转化的类

该注解用于getter()方法上,根据被注解字段的数据去对应转换类中找到匹配的值输出

@JsonFormat:

timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss"

由于从数据库中的日期是date类型,读取出来封装到实体类时会变成英文时间格式,我们可以添加pattern格式化时间格式

@DateTimeFormat:

pattern = "yyyy-MM-dd HH:mm:ss"

接收前端发来的日期数据,pattern 表示接收数据的精确程度

@TableLogic:

value="原值",delval="改值"

执行BaseMapper的删除方法时执行逻辑删除。

@JsonProperty:

value = "xxx"

当前端发送json数据中的名字与实体类中的名字不同时,该注解能实现配对

@CrossOrigin:

origins = “”,maxAge = 3600

支持跨域,默认都可访问,设置后可访问目标网页

@ControllerAdvice:

定义在类上,类中可以使用@ExceptionHandler、@InitBinder、@ModelAttribute注解定义方法,在@RequestMapping中生效。若该类中全部异常处理返回json,可以使用@RestControllerAdvice代替,这样在方法中可以不用添加@ResponseBody

@ModelAttribute:

在mode使用model.addAttribute(“xxx”, xxx)设置值,可以在@RequestMapping注解的方法中,通过ModelMap.get()或是在参数中使用@ModelAttribute(“xxx”)获取

@ExceptionHandler:

不加参数,默认对所有异常进行处理,添加NumberFormatException.class等可以对对应的NumberFormatException异常进行处理。定义多个@ExceptionHandler,spring会选择最近抛出异常的处理方法

@Accessors(chain=true):

生成setter()方法返回this代替了默认返回的void,可以实现链式编程

@PostConstruct:

类初始化顺序:构造方法>@Autowired>@PostConstruct。在初始化Controller对象时若需要使用到被@Autowired注入的对象,没有该注解会得到一个null对象,加入该注解可以在对象注入之后初始化

@Scheduled:

(corn=”0 0 1 * * ?”):表示每天凌晨一点执行一次。其中参数分别表示:秒 分 时 日 月 星期几 年。”*”表示任意值,cron = "0 0 1 * * ?" 的日这个域 表示每天的一点都会执行;”0-5”表示每到该区间内都会执行,cron = "0 0-5 1 * * ?" 的日这个域 表示每天的一点的0-5(前5分钟)范围内每分钟都会执行;”0/5”表示起始时间/间隔时间,cron = "0 0/5 1 * * ?" 的日这个域 表示每天的一点0分执行 然后隔5分钟执行一次 直至2点;”0,5”表示枚举值,cron = "0 0,5 1 * * ?" 的日这个域 表示每天的一点的0分、5分的时候都会执行;”?”只用于天(月)和天(星期),防止冲突

        有些了解的就不想记了,太难的又懒得记了,到最后发现只记录几个。就放在这给自己随时查阅算了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值