2009-02-14 59 views

回答

4

我认为Hibernate Validator有任何验证的非常好,可重复使用的注解。它基于JSR 303的参考实现:Bean验证。

4

只有我在测试项目外多次使用的非标准注释已经在WicketStuff Annotations之间,这在他们自己的环境中非常有用。

也是JSR-305的基础的另一个有趣的注释集合是FindBugs' annotations,它也可能在将来证明是有用的 - 我们将看看它是如何发生的。

0

确实需要在核心jre中有一组常用注释,这些注释在多个框架中以类似的方式使用。

例如@Transactional @Nullable

2

看看我的豆注释

http://code.google.com/p/javadude/wiki/Annotations

之类的东西

@Bean(
    cloneable=true, 
    defineSimpleEqualsAndHashCode=true, 
    properties={ 
     @Property(name="name", bound=true), 
     @Property(name="age", type=int.class, bound=true), 
     @Property(name="friend", type=Person.class, kind=PropertyKind.LIST) 
    }, 
    observers={ 
     @Observer(type=FeverListener.class) 
    } 
) 
public class Person extends PersonGen { } 

注释处理器生成PersonGen超。

请注意,我目前工作的一个重大改变它们与API正在改变(我还是会离开当前的版本,但版本3.xx的流将被打破)

我试图在接下来的几周内完成新版本。

+0

这看起来很有趣,但我真的不想产生额外的课程,或有子类/实现任何东西。保持POJO为POJO。是否有可能只使用注释进行验证而无需生成代码? – StaxMan 2009-04-09 22:50:17

0

JAXB定义了可在某种程度上重用的注释(javax.xml.bind.annotation) - 尽管它们的命名仅表示它们仅与XML序列化有关,但大多数元数据必须与注释属性进行序列化有关,所以它们也可以用于序列化为其他数据格式(如JSON)。 Jackson JSON processor支持它们,因为它没有真正标准化非数据格式特定的注释(AFAIK)。