Verwaltete Beans in JSF 2.0 injizieren

Injizieren von Managed Beans in JSF 2.0

In JSF 2.0 wird eine neue Annotation von@ManagedPropertyverwendet, um eine verwaltete Bean in die Eigenschaft einer anderen verwalteten Bean zu integrieren.

Sehen wir uns das Beispiel von@ManagedPropertyan:

MessageBean.java - Eine verwaltete Bean mit dem Namen "message".

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 - Injizieren Sie die Bean "message" in die Eigenschaft "messageBean".

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;
    }

    //...
}

In diesem Beispiel wird die Annotation@ManagedPropertyverwendet, um die "Nachrichten" -Bohne (MessageBean.java) in die Eigenschaft (messageBean) der "Hallo" -Bohne (HelloBean.java) zu DI. über die Setter-MethodesetMessageBean().

Note
Um diese Injektion erfolgreich zu machen, muss die Injektionseigenschaft (messageBean) die Setter-Methode bereitstellen.

Quellcode herunterladen

Laden Sie es herunter -JSF-2-Inject-Managed-Beans-Example.zip (10 KB)