1

私は非常に単純な CDI Bean を持っています:

package net.resourceAuth;

public class Sample {

   private String text;

   public String getText() {
    return text;
   }

   public void setText(String text) {
    this.text = text;
   }
}

textそして今、変数を使用して初期化したいと思いますbeans.xml。私はbeans.xmlこのようなファイルを試しています:

<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:res="urn:java:net.resourceAuth"
    xsi:schemaLocation="
    http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">

    <res:Sample>
      <res:text>test123</res:text>
    </res:Sample>

</beans>

しかし、うまくいきません。textは常に null です。ここで何が間違っているのかを理解するのを手伝ってもらえますか?

言い換えれば、たとえばここで説明されているJSFのfaces-config.xmlで使用されているのと同様のソリューションを探しています: http://www.mkyong.com/jsf2/configure-managed-beans-in-jsf- 2-0/

4

4 に答える 4

0

この種の構成を行うことができることを本当に知りませんbeans.xml(これはおそらくSpringでのみ機能しますが、誰かが私を修正するかもしれません)。値を初期化する CDI の方法は、 で注釈が付けられた方法な@PostConstructので、これを試してください。

public class Sample {

    private String text;

    @PostConstruct
    public void init() {
         this.text = "aaa";
    }
}
于 2013-10-03T13:08:08.627 に答える