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