为什么spring采用单例模式创建bean而struts的action要每次创建,这样有什么好处呢
4条回答 默认 最新
xwz_adolf 2010-03-11 14:01关注1.struts的action每次创建:
用户发出请求request -- > action
a)假如此时用户正在根据 条件 查询记录,那么该操作的流程是:
1.在jsp页面会有个字段 name 表示 条件
2.在action有个属性 name
3.此时由于用户填写了name = "javaeye" 那么action中的name也等于javaeye.
b)如果action不是每次创建,而是只创建一次。
恰好此时用户的操作只是查询而不是条件查询会出现什么结果?
action已经存在,所以不会创建,那么其属性name的值还是javaeye.
这样本来是查询所有的记录,变成了条件查询。2.spring采用单例模式创建bean
bean每创建一次都需要在内存中分配一个空间。这样会浪费空间,降低效率。
所以只所有创建一次即可,并且bean你们的操作主要是对数据库的操作,它的信息来源自action,只要保证action的信息唯一性,这里不需要每次创建。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报