1

我在托管 BackBean 上有方法 getStudents,我正在调用 getstudents,它反过来调用数据库并获取数据。UI 显示正确,但它会导致性能问题,因为加载页面需要太多时间。请建议我如何处理这个性能问题。

4

1 回答 1

3

您不应该在 getter 方法中执行业务逻辑。您应该在@PostConstruct方法中初始化列表或在 getter 中进行延迟加载:

private List myList;

@PostConstruct
public void init() {
  // init my List
}

// getter and setter

@PostConstruct方法将在托管 bean 实例化后调用。我建议你在这个方法中初始化,而不是在构造函数中。当您在支持 bean 生命周期期间更改列表时,您应该在更改时更新它。您可以添加用户创建的数据,也可以选择插入值后再次调用数据库。您必须担心这一点,没有自动化。

于 2013-03-12T07:54:00.313 回答