JavaBean生产中的常用注解

在JavaBean中常用注解如下:

	@SuppressWarnings(value = "serial")
	@AllArgsConstructor
	@NoArgsConstructor
	@Accessors(chain = true)
	@Data

这类注解定义都会有相应的元注解(通俗讲: 专职负责注解其他注解的,用来标示其他注解的适用范围和作用域)

常用元注解:

	@Target:注解的作用目标
   	@Retention:注解的生命周期
	@Documented:注解是否应当被包含在 JavaDoc 文档中
    @Inherited:是否允许子类继承该注解

注解的定义以及解释

1、@SuppressWarnings:(是否需要抑制baen中的警告)
    @Target({ElementType.TYPE, ElementType.FIELD, 		ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR, ElementType.LOCAL_VARIABLE})
    @Retention(RetentionPolicy.SOURCE)
    @SuppressWarnings(value = "")
2、@AllArgsConstructor(是否需要带参构造器)
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.SOURCE)
    @AllArgsConstructor
3、@NoArgsConstructor(是否需要无参构造器)
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.SOURCE)
    @NoArgsConstructor
4、@Accessors(chain = true)(是否是链式访问: 使用chain属性,setter方法返回当前对象)
	@Accessors(prefix = "f")(使用prefix属性,getter和setter方法会忽视属性名的指定前缀(遵守驼峰命名))
	@Accessors(fluent = true)(使用fluent属性,getter和setter方法的方法名都是属性名,且setter方法返回当前对象)
    @Target({ElementType.TYPE, ElementType.FIELD})
    @Retention(RetentionPolicy.SOURCE)
    @Accessors
5、@Data
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.SOURCE)
    @Data 
 包含:@see Getter @see Setter @see RequiredArgsConstructor @see ToString@see EqualsAndHashCode @see lombok.Value

实际开发总结:

常用:@AllArgsConstructor、@NoArgsConstructor、@Data(除非特别要求最好不要用@Getter,@setter)、@SuppressWarnings(有警告最好抑制警告)、@Accessors(chain = true)(可写可不写、这里牵扯到链式访问:链式访问有利于维护,对方法返回类型无要求、代码简洁、缺点不太利于代码调试)

你可能感兴趣的:(项目集成)