Должен ли я использовать OVal (Object Validation Framework), даже если он требует AspectJ или нет? - PullRequest
1 голос
/ 27 сентября 2011

У меня есть проект Java Maven, который разрабатывается несколькими людьми.

Поскольку мне действительно нравится проводить тесты JUnit и тому подобное, концепция OVal меня заинтриговала, потому что я могу писать код вроде:

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

Однако недостатком является то, что:

  • каждый теперь должен установить плагин AspectJ на свой Eclipse
  • по крайней мере, для меня это выдает ошибку при каждом запуске (которую я могу щелкнуть, но это все еще раздражает)
  • Полагаю, AspectJ все замедляет

Так стоит ли это, и есть ли альтернатива, где мне не нужен AspectJ?

P.S .: Это ошибка, которую я получаю в 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
)

Ответы [ 2 ]

3 голосов
/ 10 октября 2011

OVal не требует использования AspectJ как такового. Только если вы хотите использовать его для программирования по контракту, например, автоматическая проверка параметров метода. Если вы не хотите использовать AspectJ, вы можете использовать Spring AOP в качестве альтернативы для включения проверки параметров метода управляемых служб Spring, см. http://oval.sourceforge.net/userguide.html#spring-aop

2 голосов
/ 28 сентября 2011

Я не знаю фреймворка OVal, но я знаю, что AspectJ и инструментарий Eclipse являются зрелыми. Время компиляции будет немного больше из-за процесса ткачества, но, вероятно, не значительно дольше.

Мое предложение состоит в том, что если вы обнаружите, что фреймворк вам помогает, то его стоит использовать.

Если вы можете сказать мне, в чем заключается ошибка при запуске, то, возможно, мы сможем найти способ, чтобы вы больше не получали его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...