1

複数の人が開発したJavaMavenプロジェクトがあります。

私はJUnitテストなどを行うのが本当に好きなので、OValの概念は、次のようなコードを記述できるため、興味をそそられます。

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

ただし、欠点は次のとおりです。

  • 誰もが自分のEclipseにAspectJプラグインをインストールする必要があります
  • 少なくとも私にとっては、起動するたびにエラーが発生します(クリックすることはできますが、それでも迷惑です)
  • 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マネージドサービスのメソッドパラメーター検証を有効にする代わりにSpring AOPを使用できます。http ://oval.sourceforge.net/userguide.html#spring-aopを参照してください。

于 2011-10-10T14:58:54.033 に答える
2

私はOValフレームワークを知りませんが、AspectJとEclipseツールが成熟していることは知っています。ウィービングプロセスのため、コンパイル時間はわずかに長くなりますが、おそらく大幅に長くなることはありません。

私の提案は、フレームワークがあなたを助けることがわかったなら、それは使う価値があるということです。

起動時のエラーを教えていただければ、それ以上発生しないようにする方法を見つけられるかもしれません。

于 2011-09-28T15:46:26.073 に答える