Forums: Open Discussion (Thread #18487)

moduleContext.xmlについて (2008-04-28 14:36 by Anonymous #36321)

お世話になります。
正常には動いているのですが、
記述がみつからないので質問させてください。


<bean name="/XXX" scope="prototype"
class="jp.terasoluna.fw.web.struts.actions.BLogicAction">
<property name="businessLogic">
<ref local="BLXXX" />
</property>
</bean>

上記の中の
<property name="businessLogic">
のname属性にはどんな意味があり、他にどのような物が指定できるのでしょうか。

他にもblogic-io.xmlの
<set-property property="XXX" dest="request" />
のdestに指定できる物の仕様など、設定ファイルに関するドキュメントはないのでしょうか?
(例えば、pageはpublicメソッドがないため、destに指定できないがその理由まで乗っているような。)

チュートリアルは
良く言えばわかりやすすぎる、
悪く言えば、詳細が書かれていない
という印象を受けました。

Reply to #36321×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

RE: moduleContext.xmlについて (2008-04-28 23:02 by yggd #36337)

ご指摘いただきありがとうございます。

個々の定義ファイルの記述の解説の前に、機能概要につきましては「機能説明書」、
「API ドキュメント」をご参照いただければと存じます。

- TERASOLUNA ドキュメント -
<http://sourceforge.jp/projects/terasoluna/wiki/document>

該当箇所の説明につきましては、以下トピックが参考になるものと考えます。

・機能説明書『WH-01 ビジネスロジック実行機能』
・API ドキュメント『BLogicAction』

- API ドキュメント BLogicAction -
<http://terasoluna.sourceforge.jp/javadoc/server-web_2.0.0.2/jp/terasoluna/fw/web/struts/actions/BLogicAction.html>


blogic-io.xml で「何を設定できるのか」につきましては、上述の『WH-02 ビジネスロジック入出力機能』
をご参照ください。

・機能説明書『WH-02 ビジネスロジック入出力機能』


フレームワーク内の機能は利用度・難易度を問わず多数に及びます。
現在、その中でもチュートリアルで使用している機能につきましては重要度も比較的高く、
逆引き情報としても上記ドキュメントへの参照を明示するよう、加筆・修正を検討している状態です。
そのためご不便をおかけして申し訳ありませんが、今しばらくお待ちいただければと存じます。

またドキュメント改修にあたり、具体的なご要望がありましたら是非ともいただければ幸いです。


以下、長文になりますが moduleContext.xml の記述の意図についてご説明いたします。

さて、お問い合わせいただきました

---
> 上記の中の
> <property name="businessLogic">
> のname属性にはどんな意味があり、他にどのような物が指定できるのでしょうか。
---

ですが、この指定はビジネスロジックを汎用的に実行する BLogicAction という機能
に、(今回のリクエスト処理で実行対象となる)ログオン処理・金額加減算といった
「個々の具体的なビジネスロジック」を格納する setter メソッドに相当するものです。

実装上の意味としては、具体的なビジネスロジックを指定するための BLogicAction
クラスにある "businessLogic" フィールド(変数) に相当します。

# 上述の API ドキュメントのフィールド、getBusinessLogic()、setBusinessLogic()
# メソッドの項をあわせてご参照ください。

そのため、このname属性は固定であり、<ref ...> で具体的なビジネスロジックの名前が
指定されることになります。

これは TERASOLUNA フレームワークでのトランザクション管理機能や、POJO
(Plain Old Java Object: EJB 2.x など、特定のコンポーネントに依存しない設計が可能)
であるビジネスロジックを実行するために必要な機能です。

参考:
・機能説明書『CA-01 トランザクション管理機能』


補足になりますが、上記機能につきましては、Spring Framework の DI コンテナによる、
オブジェクトの生成、管理の仕組みを利用しています。
以下の解説をはじめ Web 上の読み物や書籍など情報が多数ありますので、
より深く習得されたい場合はご参照ください。

- 今必要な人のための速習 Spring Framework 第2回 柔軟性/保守性を高めるDI機能 -

<http://itpro.nikkeibp.co.jp/article/COLUMN/20070718/277686/?P=2&ST=develop>

検索サイトでは一般的に、「Spring Framework」や、「DI コンテナ」、「Bean定義」といった
キーワードで詳細な情報が得られるものと考えます。

# 既にご承知の場合は失礼いたしました。
Reply to #36321

Reply to #36337×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login