【发布时间】:2016-11-19 14:52:23
【问题描述】:
众所周知,建议使用来自 javax.enterprise.context 的注释,而不是 javax.faces.bean,因为它们已被弃用。
我们都发现带有 eager="true" 的 ManagedBeans 使用来自 javax.faces.bean 的 @ApplicationScoped 注释并具有 @PostConstruct 方法对于进行 Web 应用程序初始化非常有用,例如:从文件系统读取属性、初始化数据库连接等。 ..
示例:
import javax.faces.bean.ApplicationScoped;
import javax.faces.bean.ManagedBean;
import javax.annotation.PostConstruct;
@ApplicationScoped
@ManagedBean(eager=true)
public class someBean{
@PostConstruct
public void init(){
//Do all needed application initialization.
}
...
}
我想知道的是,如果我使用来自javax.enterprise.context 的注解,我怎样才能获得相同的行为。
注意:
来自 javax.ejb 的 @Startup 注释将有助于运行该代码,但仅在应用程序服务器启动时部署 webapp 时运行。
【问题讨论】:
标签: jsf jakarta-ee cdi managed-bean eager-loading