P
- 業務パラメータR
- 業務結果public interface BLogic<P,R>
業務開発者は、業務ロジックのパラメータである任意の型のJavaBeanを受け取り、 業務ロジック結果の任意の型のJavaBeanを返却する処理を実装すること。
トランザクション境界となるため、あらかじめ定義した トランザクションプロキシの抽象定義を継承してBean定義を行うこと。 また、回復不可能なエラーが発生した場合は、 プロジェクトで定められたルールで任意の例外をスローすること。
【Bean定義例】
※ baseTransactionProxyは、トランザクションプロキシのベース定義。
<bean id="maxBLogic" parent="baseTransactionProxy">
<property name="target">
<bean class="jp.terasoluna.sample2.service.blogic.MaxBLogic"/>
</property>
</bean>
通常、サービス層のクラスは、
DIコンテナを利用した場合、1つのサービスに対して1つのインタフェースとする、
フレームワーク特定のインタフェースに依存しないPOJOであることが望ましいが、
TERASOLUNAでは、1つのインタフェースで複数のサービスを実現する仕組みも用意している。
BLogic
インタフェースを実装したクラスを利用すると、
プレゼンテーション層は、サービス層のクラスを統一的に扱うことが出来るため、
リクエストごとにプレゼンテーション層の呼び出しクラスを実装する必要がなくなるメリットがある。
プレゼンテーション層からの呼び出しについては、
BLogicController
を参考にすること。
BLogicController
クラスでは、実装クラスのexecuteメソッドの引き数の型をもとに、コマンドオブジェクトの型を自動判定している。
よって実装クラスでは、「execute」という名称のメソッドは、本インタフェースを実装した1メソッドのみ定義し、
オーバーロード(メソッド名が同一で引数の型、数、並び順が異なるメソッドを複数定義)しないこと。
BLogicController
修飾子とタイプ | メソッドと説明 |
---|---|
R |
execute(P params)
業務ロジックを実行する。
|
Copyright © 2015. All Rights Reserved.