JSF 2.0でマネージドBeanを注入する
JSF 2.0では、マネージドBeanを別のマネージドBeanのプロパティに依存性注入(DI)するために、新しい
@ ManagedProperty
アノテーションが使用されています。
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean(name="message")
@SessionScoped
public class MessageBean implements Serializable {
//business logic and whatever methods...
}
-
HelloBean.java
– ”
messageBean
“プロパティに ”
message ** ” Beanを注入します。
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class HelloBean implements Serializable {
@ManagedProperty(value="#{message}")
private MessageBean messageBean;
//must povide the setter method
public void setMessageBean(MessageBean messageBean) {
this.messageBean = messageBean;
}
//...
}
この例では、
@ ManagedProperty
アノテーションを使用して、setterメソッドを使用して “hello” Bean(
HelloBean.java
)のプロパティ(
messageBean
)に “message” bean(
MessageBean.java
、
setMessageBean()
-
注
この注入を成功させるには、injectプロパティ(
messageBean ** )がsetterメソッドを提供しなければなりません。
ソースコードをダウンロードする
ダウンロードする –
JSF-2-Inject-Managed-Beans-Example.zip
(10KB)
リファレンス
Javadoc]。 link://jsf2/jsf-2-0-managed-bean-x-does-exist-check-that-appropriate-getter-andor-setter-methods-exist/[JSF
2.0:マネージドBean xが存在しない、適切なgetterメソッドおよび/またはsetterメソッドが存在することを確認する]