本文介绍了Java EE 7容器:在启动时初始化bean而不将其添加到beans.xml?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否存在任何bean类型或Java EE批注来在容器启动时初始化bean,而不将bean添加到bean.xml?

Is there any bean type or Java EE annotation to get a bean initialized at container startup without adding the bean to beans.xml?

推荐答案

是的。

这是我在部署时需要单例应用程序范围的bean时使用的方法:

Yes, there is.
This is what I use when I need a singleton, application scoped bean started on deploy:

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如果除了初始化之外还需要执行任何代码,则添加方法。

这篇关于Java EE 7容器:在启动时初始化bean而不将其添加到beans.xml?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-12 23:10