是否有任何bean类型或Java EE注释来在容器启动时初始化bean而不将bean添加到beans.xml?
答案 0 :(得分:4)
是的,有。
这就是我在部署时使用单例,应用程序作用域bean时使用的内容:
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Named;
import javax.annotation.PostConstruct;
@Named( "myBean" )
@ApplicationScoped
@Startup
@Singleton
public class MyBean {
@PostConstruct
public void postConstruct() {}
}
如果除了初始化之外还需要执行任何代码,则会添加postConstruct
方法。
答案 1 :(得分:2)
您可以使用Initializing Singleton Session Beans中显示的Singleton
bean:
import javax.ejb.Singleton;
import javax.ejb.Startup;
@Startup
@Singleton
public class StartupBean {
}