Commit e1743b8c by huangfusuper

修正代码校验方式

parent 85311d4e
......@@ -4,19 +4,14 @@ import com.byit.annotation.MetaAnnotation;
import com.byit.annotation.ParamValidation;
import com.byit.annotation.annotationselector.NotNull;
import com.byit.exception.DataValidationException;
import com.byit.validation.Validation;
import com.byit.validation.impl.NotParamValidationImpl;
import com.byit.validation.impl.ParamValidationImpl;
import com.byit.utils.NotParamValidationUtil;
import com.byit.utils.ParamValidationUtil;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Conditional;
import org.springframework.stereotype.Component;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
......@@ -28,14 +23,6 @@ import java.lang.reflect.Method;
public class CheckerAspect {
private static final Logger log = LoggerFactory.getLogger(CheckerAspect.class);
private final Validation notParamValidation;
private final Validation paramValidation;
public CheckerAspect(Validation notParamValidation, Validation paramValidation) {
this.notParamValidation = notParamValidation;
this.paramValidation = paramValidation;
}
@Around("@annotation(com.byit.annotation.DataValidation)")
public Object dataValidation(ProceedingJoinPoint joinPoint) throws Throwable {
log.info("------------------进入拦截器拦截------------------");
......@@ -90,7 +77,7 @@ public class CheckerAspect {
boolean isPresenceParamValidationAnnotation = annotation.annotationType().equals(ParamValidation.class);
if(isPresenceParamValidationAnnotation){
//ParamValidationImpl paramValidationImpl = new ParamValidationImpl();
paramValidation.isValidation(param);
ParamValidationUtil.isValidation(param);
continue;
}
......@@ -99,7 +86,7 @@ public class CheckerAspect {
//如果存在
if(annotationPresent){
//NotParamValidationImpl notParamValidation = new NotParamValidationImpl();
notParamValidation.isValidation(annotation,param);
NotParamValidationUtil.isValidation(annotation,param);
continue;
}
}
......
......@@ -2,10 +2,6 @@ package com.byit.config;
import com.byit.aspect.CheckerAspect;
import com.byit.properties.ValidationProperties;
import com.byit.utils.SpringUtil;
import com.byit.validation.Validation;
import com.byit.validation.impl.NotParamValidationImpl;
import com.byit.validation.impl.ParamValidationImpl;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
......@@ -17,23 +13,7 @@ import org.springframework.context.annotation.Configuration;
@EnableConfigurationProperties(ValidationProperties.class)
public class ValidationAuthConfigure {
/**
* 无注解 @ParamValidation 配置
* @return 返回NotParamValidationImpl对象
*/
@Bean
public Validation getNotParamValidation(){
return new NotParamValidationImpl();
}
/**
* 有注解 @ParamValidation 配置
* @return
*/
@Bean
public Validation getParamValidation(){
return new ParamValidationImpl();
}
/**
* 注册切面
......@@ -41,11 +21,7 @@ public class ValidationAuthConfigure {
*/
@Bean
public CheckerAspect getCheckerAspect(){
return new CheckerAspect(getNotParamValidation(),getParamValidation());
return new CheckerAspect();
}
@Bean
public SpringUtil springUtil(){
return new SpringUtil();
}
}
......@@ -2,9 +2,7 @@ package com.byit.selector;
import com.byit.annotation.annotationselector.EmailValidation;
import com.byit.exception.DataValidationException;
import com.byit.properties.ValidationProperties;
import com.byit.selector.interfaces.ValidationSelector;
import com.byit.utils.SpringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......
package com.byit.validation.impl;
package com.byit.utils;
import com.byit.annotation.MetaAnnotation;
import com.byit.exception.DataValidationException;
import com.byit.selector.interfaces.ValidationSelector;
import com.byit.validation.AbstractValidation;
import org.springframework.stereotype.Component;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
......@@ -13,7 +11,7 @@ import java.lang.reflect.Method;
* 这个是不需要验证内部属性是否需要校验,只需要验证其本身是否通过规定校验的
* @author huangfu
*/
public class NotParamValidationImpl extends AbstractValidation {
public class NotParamValidationUtil {
/**
......@@ -21,8 +19,7 @@ public class NotParamValidationImpl extends AbstractValidation {
* @param annotation 参数上的注解
* @param value
*/
@Override
public void isValidation(Annotation annotation,Object value){
public static void isValidation(Annotation annotation,Object value){
try{
//获取此注解上的元注解
MetaAnnotation metaAnnotation = annotation.annotationType().getAnnotation(MetaAnnotation.class);
......
package com.byit.validation.impl;
package com.byit.utils;
import com.byit.annotation.MetaAnnotation;
import com.byit.exception.DataValidationException;
import com.byit.selector.interfaces.ValidationSelector;
import com.byit.validation.AbstractValidation;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
......@@ -15,14 +12,13 @@ import java.lang.reflect.Method;
* 这个是需要验证其内部属性是否通过校验的实现类
* @author huangfu
*/
public class ParamValidationImpl extends AbstractValidation {
public class ParamValidationUtil {
/**
* 校验实现
* @param object
*/
@Override
public void isValidation(Object object){
public static void isValidation(Object object){
try {
//获取的是方法参数的类的对象
Class<?> aClass = object.getClass();
......
package com.byit.utils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
/**
* Spring工具类
* @author huangfu
*/
public class SpringUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if(SpringUtil.applicationContext == null) {
SpringUtil.applicationContext = applicationContext;
}
}
/**
* 获取applicationContext
* @return 返回applicationContext
*/
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
/**
* 通过name获取 Bean.
* @param name
* @return
*/
public static Object getBean(String name){
return getApplicationContext().getBean(name);
}
/**
* 通过class获取Bean.
* @param clazz
* @param <T>
* @return
*/
public static <T> T getBean(Class<T> clazz){
return getApplicationContext().getBean(clazz);
}
/**
* 通过name,以及Clazz返回指定的Bean
* @param name
* @param clazz
* @param <T>
* @return
*/
public static <T> T getBean(String name,Class<T> clazz){
return getApplicationContext().getBean(name, clazz);
}
}
......@@ -2,7 +2,6 @@ package com.byit.utils;
import com.byit.adaptation.ValidationAdaptation;
import com.byit.exception.DataValidationException;
import com.byit.validation.impl.ParamValidationImpl;
/**
* 规则校验工具类
......@@ -114,7 +113,7 @@ public class ValidationUtil {
* @param object
*/
public static void modelIsAnnotationValidation(Object object){
SpringUtil.getBean(ParamValidationImpl.class).isValidation(object);
ParamValidationUtil.isValidation(object);
}
/**
......
package com.byit.validation;
import java.lang.annotation.Annotation;
/**
* 适配器
* @author huangfu
*/
public class AbstractValidation implements Validation {
@Override
public void isValidation(Annotation annotation, Object object) {
}
@Override
public void isValidation(Object object) {
}
}
package com.byit.validation;
import java.lang.annotation.Annotation;
/**
* 真正的校验实现
* @author huangfu
*/
public interface Validation {
/**
* 这个是不需要验证内部属性是否需要校验,只需要验证其本身是否通过规定校验的
* @param annotation
* @param object
*/
void isValidation(Annotation annotation, Object object);
/**
* 这个是需要验证其内部属性是否通过校验的实现类
* @param object
*/
void isValidation(Object object);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment