struts2这样写可以提高效率吗

以前写struts1.x的时候我们的老大总是在get的函数里这样写:
如:
private List goods;
.
.
.

List getGoods(){
if (goods == null ){
goods = businessBiz.queryGoods();
}
}
他在struts2里也这样写
我现在有点想不明白,strust2不是单例的他这样写是不是能提高效率?
[b]问题补充:[/b]
谢谢大家的回答,我的意思是,每个用户来了都会创建一个实例,比如A在操作时getGoods()返回一个List集合
B用户再操作应该是重新再查询的吧?

每个用户来了都会[color=red]创建一个新实例的话[/color]
那么A在操作时getGoods()返回一个List集合
B用户再操作是会重新再查询的

这是一些常用参数的初始化,主要是不要再在初始化方法中写这段代码goods = businessBiz.queryGoods();
,另外,就是说避免重复的操作。另外,防止空对象。写法上很好,我个人觉得

避免每次使用goods的时候再做一次businessBiz.queryGoods()查询操作

为了延迟加载list属性,因为一般数据都比较大,如果没有调用getGoods()方法,自然就不去查询,调用才去查询businessBiz.queryGoods()

如果GOODS没有被释放的话,就不会再次查询

不过这个也有不好的一面,如果GOODS的值是在变化的,这种写法就不好了,就不能实时了,看情况,估计你们老大认为GOODS这个不会随时变化,所以才这么写