众所周知,推荐使用来自javax.enterprise.context
的注解而不是javax.faces.bean
,因为它们已被弃用。
我们发现,使用@ApplicationScoped
注释的eager="true"
ManagedBeans,同时具有@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
注释将有助于运行该代码,但仅在Web应用程序部署时,应用程序服务器启动时才会运行它。
@Eager
。根据您的答案,我在下面发布了一个解决方案。谢谢。 - Eng.Fouad