注解整理ing
注解
1. 实体类注解
@Data注解是lombok.jar包下的注解,该注解通常用在实体bean上,不需要写出set和get方法
@Data相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集
@EqualsAndHashCode注解会生成equals(Object other) 和 hashCode()方法
@EqualsAndHashCode(callSuper = true),callSuper默认为false,即默认不适用父类中属性判断
@EqualsAndHashCode(exclude = “字段名”),通过参数exclude指定排除属性
@EqualsAndHashCode(of = “字段名”),通过参数of指定使用的属性
@EqualsAndHashCode(callSuper = true)//比较父类属性 @JsonInclude(JsonInclude.Include.NON_NULL) @Data public class AlarmPage extends BasePage { private static final long serialVersionUID = 6316286752401821459L; private String element; }
@Data注解
@EqualsAndHashCode注解详解
@JsonIgnoreProperties类注解
@JsonInclude(JsonInclude.Include.NON_NULL)注解
2. dto参数校验及统一异常处理
@Valid 和 @Validated 注解用法
@ControllerAdvice和@ExceptionHandler(Exception.class)统一异常处理
dto参数校验及统一异常处理
3. springboot定时任务
@Scheduled与@PostConstruct注解
springboot定时任务
4. springboot读取自定义配置
@Value和@ConfigurationProperties(prefix = “前缀”)注解
springboot读取自定义配置
5. springboot拦截器和过滤器
@WebFilter(web过滤器)和@ServletComponentScan(servlet组件扫描)
springboot拦截器和过滤器
6. @Controller和@RestController的区别
@Controller和@RestController的区别
7. @Autowired和@Resource区别
1,来源不同:@Autowired 来自 Spring 框架,而 @Resource 来自于JDK提供的注解。 依赖查找的顺序不同:@Autowired先根据类型查询,再根据名称查询, 而@Resource先根据名称,如果存在多个名称,再根据类型查询; 2,支持的参数不同:@Autowired 只支持设置 1 个required参数, 而@Resource 支持设置name="xxx",type = XXX.class参数; 3,依赖注入的用法支持不同:@Autowired 支持构造方法注入,属性注入和 Setter 注入, 而@Resource 只支持属性注入和Setter 注入; 4,编译器 IDEA 的提示不同:当注入Mapper对象时,使用@Autowired 注解编译器会提示错误,而使用@Resource注解则不会提示错误。 5,@Autowired是默认通过类型注入,如果存在多个类型, 则配合@Qualifier注解,通过名称注入(@Qualifier注解类似于条件筛选,可以根据bean的名称注入); 也可以使用@Primary注解加在bean实现类上设置主次。
@Autowired 和@Resource 的5点区别
8. 每层注解
@Controller 使用在web层类上用于实例化Bean @Service 使用在service层类上用于实例化Bean @Repository 使用在dao层类上用于实例化Bean