1

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

因为我真的很喜欢做 JUnit 测试之类的,所以 OVal 的概念让我很感兴趣,因为我可以编写如下代码:

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

不过缺点是:

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

那么它是否值得,是否有我不需要 AspectJ 的替代方案?

PS:这是我在 Eclipse 中遇到的错误: 截图 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
)
4

2 回答 2

3

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

于 2011-10-10T14:58:54.033 回答
2

我不知道 OVal 框架,但我知道 AspectJ 和 Eclipse 工具是成熟的。由于编织过程,编译时间会稍长,但可能不会显着延长。

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

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

于 2011-09-28T15:46:26.073 回答