私は10のgrailsサービスを持っているとしましょう。これらのサービスのそれぞれは、RESTサービスを呼び出す予定です。そこで、RESTコードをカプセル化して、10のサービスで簡単に再利用できるようにしたいと考えています。オプションを検討してgrailsサービス階層
、私は可能性:
1)REST関連のコードを持つ別のサービスまたはBeanを作成し、それを10個のサービスの一つ一つを注入。
2)RESTコードを含むスーパークラスサービスを作成し、すべての10のgrailsサービスがこのクラスを拡張するようにします。
私はオプション2を使用しようとしていますが、スーパークラスへの依存性注入に関する問題に取り組んでいます。
例:
class SuperService {
def aString
}
class ExampleService extends SuperService {
}
resources.groovy:
beans = {
superService(SuperService) {
aString = "something"
}
exampleService(ExampleService) {
}
}
統合テストを実行している間、私は、デバッガでこれを実行すると、私はaStringの値がnull参照してください。明らかに、それは私のために問題になるだろう。
次resources.groovyと同じコードを実行し、予想されるように
:= "何か"beans = {
superService(SuperService) {
}
exampleService(ExampleService) {
aString = "something"
}
}
とaStringの。
したがって、私は設定配線が少なくて済むため、オプション2を優先しますが、実現可能なアプローチではないと思います。言い換えれば、サブクラスのそれぞれにaStringを設定する必要がある場合、値はありません。
思考?
何か不足していますか?
他のオプションもあります。事前に
おかげで、 トッド
なぜオプション2の構成配線が少なくなると思いますか? –