liguofeng29’s blog

個人勉強用ブログだっす。

S2Container - 生成方法

1. SingletonS2ContainerFactory

VM上に一つのコンテナ存在していい場合に使う。

 

2. S2ContainerFactory

VM上に複数のコンテナが必要な場合に使う。

 

3. S2ContainerServlet

Webアプリケーションの場合に使う。

S2ContainerServletがSingletonS2ContainerFactory.init()を自動的に呼び出す。

 

SingletonS2ContainerFactory
 

public void sample1() {
final String PATH = "aaa/bbb/ccc.dicon";

// diconファイル指定
// 指定しない場合、CLASSPATHを使う
SingletonS2ContainerFactory.setConfigPath(PATH);

// 初期化
SingletonS2ContainerFactory.init();

// コンテナ取得
S2Container container = SingletonS2ContainerFactory.getContainer();
}
 

 

S2ContainerFactory
 

public void sample2() {
final String PATH = "aaa/bbb/ccc.dicon";

// コンテナ生成
S2Container container = S2ContainerFactory.create(PATH);
}
 
 
S2ContainerServlet
web.xml
 

<servlet>
<servlet-name>s2servlet</servlet-name>
<servlet-class>org.seasar.framework.container.servlet.S2ContainerServlet</servlet-class>

<!-- 定義ファイル指定 -->
<init-param>
<param-name>configPath</param-name>
<param-value>app.dicon</param-value>
</init-param>

<!-- debugモード -->
<!-- debugパラメータをtrueにすると、 -->
<!-- S2Containerにデプロイされているコンポーネントの定義を見ることもできます -->

<!-- http://localhost:8080/xxx/s2servlet?command=list -->
<init-param>
<param-name>debug</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>s2servlet</servlet-name>
<url-pattern>/s2servlet</url-pattern>
</servlet-mapping>