在Factory类

时间:2016-03-31 10:11:08

标签: java spring

我正在开发一个应用程序,我们必须对对象执行一些验证。所以我的计划是我们在单独的类中进行验证,并使用自定义验证注释对它们进行注释。现在我们有工厂实现BeanPostProcessor,它检查bean是否使用该自定义验证进行注释,如果是,则将该bean添加到工厂。现在可能存在类似validatorfactory的情况可能为null。

public class ValidationFactory implements BeanPostProcessor {
private Map<ValidationType, CustomValidation> validationMap = new HashMap<ValidationType, CustomValidation>();

@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
    Class clazz = bean.getClass();
    if (clazz.isAnnotationPresent(Validation.class)) {
        Validation annotation = (Validation) clazz.getAnnotation(Validation.class);
        this.addValidation(annotation.validation(), (CustomValidation) bean);
    }

    return bean;
} 

}

我的验证类

@Validation(validation = ValidationType.VERSION_MISMATCH)

@Component
public class VersionMismatchValidation implements CustomValidation{
//logic for validation
}

这种方法的目的是,将来如果添加任何进一步的验证,开发人员应该做的就是创建验证并对其进行注释。工厂类不应该受到影响

0 个答案:

没有答案