[Seasar-user:621] groovy-seasar で prop()が認識されません

B interlink.or.jp jazzatny jazzatny
2004年 4月 11日 (日) 09:42:10 JST


はじめまして。佐藤と申します。

重い(面倒くさい)アプリケーションサーバーに引導を渡せそうで
期待しながらseasar勉強中です(からさわぎにも参加したかったの
ですが残念です)。

で、早速の質問なのですが、
groovy-seasar 0.3 で prop()メソッドがうまく動作しません。

以下の例のような作成し、実行すると

org.seasar.framework.beans.ConstructorNotFoundRuntimeException:
[ESSR0048]test.SayHelloに引数(java.lang.String)で
適用可能なコンストラクタが見つかりません

と、怒られてしまいます。

groovy-seasar 0.2ではprop()が一個の場合は怒られず、2個以上
定義すると怒られてしまいます。

method()メソッドでも同様の事象です。

原因がわかりません。私の勘違いでしょうか。よろしくご教授お願い
します。

--- ISayHello.java
public interface ISayHello {
	public String hello();
}

--- SayHello.java
public class SayHello implements ISayHello {
   private String helloStr = "Hello";

   public SayHello(){		
   }
   public String hello(){
     return this.helloStr;
   }
   public void setHelloStr(String inHelloStr){
     helloStr = inHelloStr;
   }
}

--- SayHelloClient
public class SayHelloClient {
	public static void main(String[] args) {
		String path = "sayhello.groovy";
		S2Container container =
                  S2ContainerGroovyFactory.create(path);
		ISayHello hello =
                  (ISayHello)container.getComponent(SayHello.class);
		System.out.println(hello.hello());
	}
}

--- sayhello.groovy

import org.seasar.groovy.SeasarBuilder

builder = new SeasarBuilder()
container = builder.container(){
     component(class:test.SayHello){
     	prop(name:"helloStr", value:"Oh! Hello")
     }
}
return container

-----------------------------------------------------

-- 
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/




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