Java 自定义注释驱动的开发

Java 自定义注释驱动的开发,java,annotations,code-generation,switch-statement,Java,Annotations,Code Generation,Switch Statement,我想为我的bean编写自己的验证器和代码生成器。我定义注释并用它们注释我的字段。当我验证它们时: public boolean validate(Object obj) { Class clazz = obj.getClass(); for (Field field : clazz.getDeclaredFields()) { for (Annotation annotation : field.getAnnotations()) { ..

我想为我的bean编写自己的验证器和代码生成器。我定义注释并用它们注释我的字段。当我验证它们时:

public boolean validate(Object obj) {
    Class clazz = obj.getClass();
    for (Field field : clazz.getDeclaredFields()) {
        for (Annotation annotation : field.getAnnotations()) {
            ...//What to do here
        }
    }
    return false;
}
i、 我的注解是@NotEmpty

我应该像
if-else if-else…
那样去做吗?或者有没有其他的捷径(用来比较的是我看到的注释,即@NotNull->with annotation.equals(“NotNull”)?我指的是如何实施。另一方面,Lombok项目有如下注释:

@Getter @Setter

如何为我的类动态(或在编译之前)生成getter和setter(我只想用Java实现它,而不需要任何其他库)?

我认为最好搜索所需的注释,而不是遍历所有注释。您可以看到注释是否如下所示:

field.isAnnotationPresent(NotEmpty.class)
要获取注释并检查其元素,可以使用:

Annotation notEmpty = field.getAnnotation(NotEmpty.class)
我认为,在运行时修改类是您需要的。你可以找到ASM的教程。

Lombok,而不是Lombak!-我今天看到第二次了