@Override
简介
- 注解@Override用于标识一个方法是覆盖(重写)父类或接口中的方法。当使用@Override注解时,编译器会检查该方法是否正确地覆盖了父类或接口中的方法,如果没有正确覆盖,则会产生编译错误。
作用
使用@Override注解的作用如下:
- 提供编译器级别的检查:使用@Override注解可以确保方法的正确覆盖,如果方法名、参数列表或返回类型与父类或接口中的方法不匹配,编译器会报错,避免了潜在的错误。
- 提高代码可读性:使用@Override注解可以清晰地表明该方法是对父类或接口中方法的重写,使代码更易于理解和维护。
- 防止意外的方法重载:如果不使用@Override注解,而是意外地创建了一个与父类或接口中方法名相同但参数列表不同的方法,这将是一个方法重载而不是重写,可能会导致意想不到的行为。
总之,@Override注解是一种用于标识方法覆盖的注解,它提供了编译器级别的检查和代码可读性的提升,帮助开发者避免错误和意外的方法重载。
代码
@Override
public String toString() {
return "User [role=" + role + ", username=" + username + ", password="
+ password + ", status=" + status + ", headPic=" + headPic
+ ", sex=" + sex + ", mobile=" + mobile + ", email=" + email
+ "]";
}
@EntityListeners
简介
- 注解@EntityListeners用于指定实体类的监听器,它可以将一个或多个监听器与实体类关联起来。当实体类发生特定事件时,这些监听器将会被触发执行相应的逻辑。
- @EntityListeners注解通常与JPA(Java Persistence API)一起使用,用于实现实体类的生命周期事件监听。它可以应用于实体类上,也可以应用于实体类的属性上。
作用
通过使用@EntityListeners注解,可以实现以下功能:
- 监听实体类的创建、更新、删除等事件,以便在这些事件发生时执行相应的操作。
- 实现审计功能,例如记录实体类的创建时间、更新时间、创建人、更新人等信息。
- 实现缓存更新、索引更新等功能,以保证数据的一致性和完整性。
- 需要注意的是,被注解@EntityListeners的监听器类必须实现相应的监听器接口,例如实现@PrePersist、@PreUpdate、@PreRemove等方法,以便在相应的事件发生时执行逻辑。
总之,@EntityListeners注解为实体类提供了事件监听的机制,可以在实体类的生命周期内执行相应的操作,从而增强了实体类的功能和灵活性。
代码
@EntityListeners(AuditingEntityListener.class)