型を使用することの明確さが好きなので、groovy でプログラミングするときは def キーワードを避けています。サービスを注入するために型を使用することと def を使用することの意味は何ですか? モックインジェクションのテスト容易性に影響を与える可能性があると思います。他に何か?
ドキュメントに記載されている両方の方法が表示されます。
人々は現在、ベスト プラクティスと考えているものは何ですか?
以前は、明示的な型で宣言された場合 (2.0 より前の Grails の場合)、他のサービスに注入されたサービスのリロードに問題がありました。これについて grails jira で最新のものは見当たりません。したがって、これはより最近のバージョンで修正されている可能性があります。
def
型名の代わりです。変数定義では、型を気にしないことを示すために使用されます。「def」で変数を宣言することと既知の型で宣言することの間に違いはありますか?
def num = 1
Integer number = 2
assert num.class == Integer
assert number.class == Integer
私は依存性注入の使用を好みdef
、Grails で最も一般的だと思います。