【问题标题】:Is there a way to specify the order in which ApplicationScoped managed beans are initialized?有没有办法指定 ApplicationScoped 托管 bean 的初始化顺序?
【发布时间】:2013-02-06 17:45:48
【问题描述】:

我想知道,因为我遇到了 ApplicationScoped 托管 bean 和一个带有

的类的特殊行为
static {
    //some code that accesses an application bean
}

其中扩展 ApplicationScoped bean 的部分

我将 JSF 2.1.17 与 Tomcat 7 一起使用。

【问题讨论】:

    标签: jsf jsf-2 tomcat7 managed-bean


    【解决方案1】:

    首先那只是糟糕的设计。应用范围的 bean 不是静态的,它们只是应用范围的。

    将一个作为另一个@ManagedProperty 注入,然后在@PostConstruct 中执行工作。

    【讨论】:

    • 我认为是这种情况,但我仍然很好奇您是否可以指定ApplicationScoped bean 初始化的顺序。
    • 如果您只是将一个作为另一个@ManagedProperty 注入,则根本不必担心。然后,JSF 将保证在注入之前准备好(后)构造(如果尚未完成)。
    • 我知道这不是问题,我计划重新设计糟糕的设计(之所以这样,是因为我们使用的是较旧的库 jsf1),但我仍然很好奇是否有办法订购一个先初始化?
    • 不,没有。如果您真的关心排序,只需使用@ManagedProperty 来强制保证注入的在被访问之前准备就绪。
    猜你喜欢
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    相关资源
    最近更新 更多