目次
本章では,Seasar2の標準的な設定ファイルについて説明します.
Seasar2の標準的な設定ファイルはXML形式のテキストファイルであり,dicon (Dependency Injection
CONfiguration) ファイルと呼ばれます. ファイルの拡張子は 'dicon
' です.
diconファイルは次のような構造のXMLファイルです.
<?xml version="1.0" encoding="UTF-8"?> (1) <!DOCTYPE components (2) PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" (3) "http://www.seasar.org/dtd/components24.dtd"> (4) <components> (5) ... </components>
(1) |
XML宣言 (任意):diconファイルの文字エンコーディングがUTF-8以外の場合は必須となります. |
(2) |
文書型宣言 (必須):Seasar2の定義ファイルであることを示します. |
(3) |
パブリックID (必須):diconファイルのパブリックIDを指定します. |
(4) |
システムID (必須):diconファイルのシステムIDを指定します. |
(5) |
|
diconファイルは妥当 (valid) なXMLファイルでなくてはなりません.
diconファイルは妥当 (valid) なXMLファイルでなくてはなりません. そのため,文書型宣言が必須です. 文書型宣言で指定するDTDは,使用するSeasar2のバージョンによって,次の中から選択することができます (独自のDTDを使用することも可能です. 詳細は「」を参照してください).
表 13.1. DTDとSeasar2のバージョン
DTDのバージョン | 利用可能なSeasar2 | パブリックID |
---|---|---|
システムID | ||
2.0 | Version: 2.0~ | -//SEASAR//DTD S2Container//EN |
http://www.seasar.org/dtd/components.dtd |
||
2.1 | Version: 2.1~ | -//SEASAR2.1//DTD
S2Container//EN |
http://www.seasar.org/dtd/components21.dtd |
||
2.3 | Version: 2.3~ | -//SEASAR//DTD S2Container
2.3//EN |
http://www.seasar.org/dtd/components23.dtd |
||
2.4 | Version: 2.4~ | -//SEASAR//DTD S2Container
2.4//EN |
http://www.seasar.org/dtd/components24.dtd |
DTDによって指定可能な要素や属性およびその値が異なります. DTDのバージョンとそれぞれで利用可能な要素・属性・値を次の表に示します.
表 13.2. DTDのバージョンと指定可能な要素・属性・値
要素 | 属性 | 値 | 2.0 | 2.1 | 2.3 | 2.4 |
---|---|---|---|---|---|---|
<components> |
(要素自体) | - | ○ | ○ | ○ | ○ |
namespace |
- | ○ | ○ | ○ | ○ | |
initializeOnCreate |
- | × | × | × | ○ | |
xmlns:xi |
- | × | × | × | ○ | |
<description> |
(要素自体) | - | ○ | ○ | ○ | ○ |
<include> |
(要素自体) | - | ○ | ○ | ○ | ○ |
path |
- | ○ | ○ | ○ | ○ | |
condition |
- | × | × | ○ | ○ | |
<xi:include> |
(要素自体) | - | × | × | × | ○ |
<component> |
(要素自体) | - | ○ | ○ | ○ | ○ |
name |
- | ○ | ○ | ○ | ○ | |
class |
- | ○ | ○ | ○ | ○ | |
instance |
singleton |
○ | ○ | ○ | ○ | |
prototype |
○ | ○ | ○ | ○ | ||
outer |
○ | ○ | ○ | ○ | ||
request |
× | ○ | ○ | ○ | ||
session |
× | ○ | ○ | ○ | ||
application |
× | × | × | ○ | ||
autoBinding |
auto |
○ | ○ | ○ | ○ | |
constructor |
○ | ○ | ○ | ○ | ||
property |
○ | ○ | ○ | ○ | ||
none |
○ | ○ | ○ | ○ | ||
semiauto |
× | × | × | ○ | ||
externalBinding |
- | × | × | × | ○ | |
<arg> |
(要素自体) | - | ○ | ○ | ○ | ○ |
<property> |
(要素自体) | - | ○ | ○ | ○ | ○ |
name |
- | ○ | ○ | ○ | ○ | |
bindingType |
- | × | × | ○ | ○ | |
<initMethod> | (要素自体) | - | ○ | ○ | ○ | ○ |
name |
- | ○ | ○ | ○ | ○ | |
<destroyMethod> |
(要素自体) | - | ○ | ○ | ○ | ○ |
name |
- | ○ | ○ | ○ | ○ | |
<aspect> |
(要素自体) | - | ○ | ○ | ○ | ○ |
pointcut |
- | ○ | ○ | ○ | ○ | |
<interType> |
(要素自体) | - | × | × | × | ○ |
<meta> |
(要素自体) | - | × | ○ | ○ | ○ |
<components>
要素は,diconファイルのルート要素です.
<components namespace="nameSpace" (1) initializeOnCreate="false | true" (2) xmlns:xi="http://www.w3.org/2001/XInclude" (3) > ... </components>
(1) |
|
(2) |
|
(3) |
|
<components>
要素の内容には次のものを記述することができます.
<description>
要素 (任意)
<include>
要素 (0個以上)
<xi:include>
要素 (0個以上)
<component>
要素 (0個以上)
<meta>
要素 (0個以上)
<components>
要素はルート要素としてのみ記述することができます.他の要素の子となることはできません.
diconファイルに定義されたコンポーネントの名前空間を指定します. 名前空間の詳細は「」を参照してください. 名前空間を指定すると,コンテナからコンポーネントを名前で取得する際に,名前空間で修飾した名前を指定することができるようになります.
名前空間は,Javaの識別子として有効な名前を指定します. JavaBeansのプロパティ名と同じルールに従うことを推奨します.
コンテナの生成時にコンテナを初期化するかしないかを指定します.
コンテナの生成時には初期化を行いません.
コンテナの生成時に初期化を行います.
<description>
要素を使用して,diconファイルの説明を記述することができます.
<description> ... </description>
<description>
要素の内容には次のものを記述することができます.
任意のテキスト
このテキストはドキュメンテーションのためのものであり,コンテナの動作には影響を与えません.
コンテナやコンポーネント定義にメタ情報を付けることができます. メタ情報は,コンポーネントをリモートオブジェクトとして公開することを示すなど,様々な用途で使うことができます.
<meta name="name" (1) > ... </meta>
(1) |
name (任意): メタ情報の名前を指定します. |
<meta>
要素の内容には次のものを記述することができます.
任意のテキスト
<description>
要素 (0個以上)
<component>
要素 (0個以上)
<meta>
要素 (0個以上)