[Seasar]Bindingアノテーション

以下のDBFluteを使った検索のサンプルコードを読んで見習うべきだなぁと思ったこと。
https://www.seasar.org/svn/sandbox/dbflute/trunk/dbflute-example/src/main/java/org/seasar/dbflute/example/approot/web/mainte/book/SearchAction.java


Bindingアノテーションには、次のように「bindingType = BindingType.MUST」のパラメータを指定した方が賢明!なぜなら、バインディングできない場合は IllegalAutoBindingPropertyRuntimeException がスローされるから。

@Binding(bindingType = BindingType.MUST)
private GenreBhv genreBhv;


「BindingType.MUSTを指定しないBindingアノテーション」や「Setterインジェクション」と比べて、規約ミスによりDIされない間違いを早期に発見できるのが嬉しい。正常系が通らないと、Exceptionがスローされる仕組みっていいですねぇ。


参考:
http://s2container.seasar.org/2.4/s2-tiger/ja/apidocs/org/seasar/framework/container/annotation/tiger/BindingType.html