@ManagedPropertyや@PostConstructなどのBean Annotationsは、別のBeanからBeanを手動でインスタンス化すると機能しません
-
29-10-2019 - |
質問
私は別のリクエストビーンからリクエストビーンをインスタンス化しました、
new LoginManager();
しかし、注釈が付けられたプロパティ @ManagedProperty
上記の方法でインスタンス化された場合にのみ、尋ねられた参照から値を取得しません。それはただ含まれています null
, 、コードの後半でNPEを引き起こします。また @PostConstruct
呼び出されません。なぜそうなのか、これにどのように対処すればよいですか?
@ManagedBean(name = "loginManager")
@RequestScoped
public class LoginManager {
private String userid;
private String password;
@ManagedProperty(value="#{currentSession}")
private UserSessionManager userSession;
}
しかし userSession
この豆を使用してインスタンス化されたときに、セッションスコープされた豆から読み取ることができません。 new LoginManager();
ただし、使用を使用して値を読むことができます FacesContext
!
正しい解決策はありません
所属していません StackOverflow