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

标签 java validation aspectj oval

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

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

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

缺点是:

  • 现在每个人都必须在他的 Eclipse 上安装 AspectJ 插件
  • 至少对我来说,每次启动时都会给我一个错误(我可以点击它,但它仍然很烦人)
  • 我想 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
)

最佳答案

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

关于java - 我是否应该使用 OVal(对象验证框架),即使它是否需要 AspectJ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7569837/

相关文章:

java - Case 语句代码不显示在屏幕上,但符合且没有错误

java - getView如何确定回收的convertView在List中的位置

javascript - JS判断String是否有电话号码

validation - 如何防止 RESTful 服务遭受 XSS 攻击

java - AspectJ - 尝试包装用一个注释而不是另一个注释注释的方法

java - 实现永久持续的 Guava 缓存

java - 如何通过 Java 代码提取 JBoss 中的用户名、密码和数据库或连接 url?

php - 使用逗号作为小数点分隔符验证数字的最佳方法是什么?

java - 为什么抛出异常时我的方面代码不运行?

java - 使用 Spring Boot 禁用 AppClassLoader AspectJ 日志记录