开发过程中遇到的注解

1.@EqualsAndHashCode

作用:1.生成equals(Object other)和hashCode()方法

   2.默认使用非静态,费瞬态的属性

   3.可以通过参数exclude排除一些属性

   4.可以通过of参数指定使用哪些属性

     5.默认仅使用该类中定义的属性且不调用父类方法(当callSuper==true时,生成的方法中会调用父类中的属性。callSuper默认是false)

     6.主要配合@Data注解使用

如果@EqualsAndHashCode中callSuper != true,则自动生成的hashCode和equals方法只会根据本类中的非静态属性进行重写。此时如果两个此类对象继承的父类的属性值不同,而本身的属性值是相同的,则通过hashCode或者equals进行判断两个对象是否是同一个对象时,会返回true

2.@Resource注解是根据Bean的名称去匹配Bean,获取不到的话再根据类型区匹配;

而@Autowired注解则是根据类型匹配,通过名称则需要@Qualifier注解配合

 3.@allowBeanDefinitionOverriding注解:spring中默认的是true,springboot中默认的是false。当设置为true时,如果在项目中发现有重复的Bean,则后发现的bean会覆盖之前相同名称的bean

原文地址:https://www.cnblogs.com/zhlblogs/p/13079617.html