自定义注解:
@NotEmpty
package com.hf.autocheck.annotation;
import java.lang.annotation.*;
/**
* @Description: 非空注解
* @Date: 2019/5/5
* @Auther:
*/
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface NotEmpty {
String value();
}
@NotEmptyIn 改注解用来,属性是另外一个对象的时候,打上改注解,则自动渗透进入该小对象的类型,获取含有@NotEmpty注解的字段,可以无限渗透(也就是递归进入获取)
package com.hf.autocheck.annotation;
import java.lang.annotation.*;
/**
* @Description: 用来渗透进入
* @Date: 2019/5/5
* @Auther:
*/
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface NotEmptyIn {
}
封装一个返回结果,统一返回结果
package com.hf.autocheck.result;
/**
* @Description: 统一返回值
* @Date: 2019/5/5
* @Auther:
*/
public class Response<T> {
private Integer code;
private String msg;
private Boolean success;
private T data;
public Response(Integer code,Boolean success,String msg, T data) {
this.msg = msg;
this.data = data;
this.code = code;
this.success = success;
}
public Response() {
}
public static <T> Response createSuccess(String msg, T data){
return new Response(200,true,msg,data);
}
public static Response createSuccess(String msg){
return new Response(200,true,msg,null);
}
public static <T> Response createError(String msg,T data){
return new Response(500,false,msg,data);
}
public static Response createError(String msg){
return new Response(500,false,msg,null);
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Boolean isSuccess() {
return this.success;
}
public void setSuccess(Boolean success) {
this.success = success;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
常量枚举类:
package com.hf.autocheck.enums;
import org.springframework.util.CollectionUtils;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description:
* @Date: 2019/5/5
* @Auther:
*/
public enum ResultEnum {
PROPERTIES_CHECK_SUCCESS(10000,"字段校验成功"),
PROPERTIES_CHECK_ERROR(10001,"字段校验失败")
;
ResultEnum(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
private Integer code;
private String msg;
public