[Seasar-user:1635] Re: DI コンテナのインスタンス管理(instance属性のouterについて)

豊島 正規 masaki-toyoshima
2005年 3月 16日 (水) 18:08:26 JST


豊島です。
早速の返信ありがとうございました。

> outerで指定するのは、DIして欲しいのコンポーネントです。
> hogeは、DIされる側では。
私の使い方が間違っていたようですね、失礼しました。

もう一度やってみたところ、うまく出来ました。
ありがとうございました。

On Wed, 16 Mar 2005 17:24:33 +0900
Yasuo Higa <[E-MAIL ADDRESS DELETED]> wrote:

> <[E-MAIL ADDRESS DELETED]> の、
>    "[Seasar-user:1633] DIコンテナのインスタンス管理(instance属性のouterについて)" において、
>    "豊島 正規 <[E-MAIL ADDRESS DELETED]>"さんは書きました:
> 
> ひがです。
> 
> > はじめまして。豊島と申します。
> > 
> outerで指定するのは、DIして欲しいのコンポーネントです。
> hogeは、DIされる側では。
> 
> > ■diconファイル
> > <components>
> > 	<component name="hello" class="tech.di.HelloImpl" instance="prototype">
> > 		<property name="hoge">hoge</property>
> > 	</component>
> > 
> > 	<component name="hoge" class="tech.di.Hoge" instance="outer" />
> > </components>
> > 
> > ■IHello.java
> > public interface IHello {
> >     void showMessage();
> > }
> > 
> > ■HelloImpl.java
> > public class HelloImpl implements IHello {
> >     private Hoge hoge;
> >     
> >     public void showMessage() {
> >         hoge.print();
> >     }
> >     
> >     public void setHoge(Hoge hoge) {
> >         this.hoge = hoge;
> >     }
> > }
> > 
> > ■Hoge.java
> > public class Hoge {
> >     private String message;
> >     
> >     public Hoge(String message) {
> >         this.message = message;
> >     }
> >     
> >     public void print() {
> >         System.out.println(message);
> >     }
> > }
> > 
> > ■main
> > public class DISample {
> >     public static final String PATH = "tech/di/sample.dicon";
> >     
> >     public static void main(String[] args) {
> >         Hoge hoge = new Hoge("こんにちは Seasar");
> >         
> >         S2Container container = S2ContainerFactory.create(PATH);
> >         container.injectDependency(hoge, "hoge");
> >         
> >         IHello helloObject = (IHello)container.getComponent(IHello.class);
> >         helloObject.showMessage();
> >     }
> > }
> > 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> http://lists.sourceforge.jp/mailman/listinfo/seasar-user
> 

------------------------------------
京セラコミュニケーションシステム(株)
大阪支社 ITソリューション事業本部
基盤開発部 大阪フレームワーク開発課

豊島 正規

内線:8827-478、8827-535
外線:06-6399-5302




Seasar-user メーリングリストの案内