spring实例化bean的时机以及struts2实例化action的时机

在获取ApplicationContext实例后,就可以像BeanFactory一样调用getBean(beanName)
返回Bean了。ApplicationContext的初始化和BeanFactory有一个重大的区别:BeanFactory
在初始化容器时,并未实例化Bean,直到第一次访问某个Bean时才实例目标Bean;而
ApplicationContext则在初始化应用上下文时就实例化所有单实例的Bean。因此
ApplicationContext的初始化时间会比BeanFactory稍长一些,不过稍后的调用则没有“第

一次惩罚”的问题。


简单而确切的说,是在struts2调用完拦截器栈之后,调用响应Action的execute方法前
详细的说:struts2在接受一个请求之后,会建立相应请求的Action对象,同时生成管理其上下文的ActionContext对象,并将javabean(即Action对象)的属性放到Valuestack栈顶,将这些属性初始化,之后struts2会调用拦截器栈中的拦截器(注意这些拦截器会改变valuestack中属性的值,如params拦截器会完成将表单字段映射到valuestack属性上。。。),在调用结束后,struts2会将valuestack中的属性映射赋值给Action对象属性,最后调用action方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值