我是否应该使用OVal(对象验证框架),即使它需要AspectJ?

时间:2011-09-27 13:21:13

标签: java validation aspectj oval

我有一个由多人开发的Java Maven项目。

由于我非常喜欢做JUnit测试等,OVal的概念引起了我的兴趣,因为我可以编写如下代码:

@NotNull
@NotEmpty
@Length(max=32)
private String name

但缺点是:

  • 现在每个人都必须将AspectJ插件安装到他的Eclipse
  • 至少对我来说,每次启动都会给我一个错误(我可以点击它但它仍然很烦人)
  • 我猜AspectJ减慢了一切

这是否值得,是否有其他我不需要AspectJ的方法?

P.S。:这是我在Eclipse中遇到的错误: screenshot http://img651.imageshack.us/img651/1089/aspectjerror.png

这是方法getCommonProperties()的头部,它似乎有问题:

public static LinkedHashMap<String,Integer> getCommonProperties
(
    @NotEmpty @NotNull String endpoint,
    @NotEmpty @NotNull String where,
    @Range(min=0, max=1) Double threshold,
    @Min(1) Integer maxResultSize,
    @Min(1) Integer sampleSize
)

2 个答案:

答案 0 :(得分:3)

OVal本身不需要使用AspectJ。仅当您要将其用于按合同编程时,例如自动方法参数验证。如果您不想使用AspectJ,可以使用Spring AOP作为启用Spring托管服务的方法参数验证的替代方法,请参阅http://oval.sourceforge.net/userguide.html#spring-aop

答案 1 :(得分:2)

我不知道OVal框架,但我知道AspectJ和Eclipse工具已经成熟。由于编织过程,编译时间会略长,但可能不会长得多。

我的建议是,如果你发现框架对你有帮助,那么值得使用。

如果你能告诉我启动时的错误是什么,那么也许我们可以找到一种方法让你不再得到它。