SpringIoC、DI、MVC的基本执行过程

配置阶段:
1. 配置Web.xml, 设定自定义的DispatchServlet的Spring配置文件
2. 为自定义的DispatchServlet配置UrlMapping
3. 创建自定义的Annotation(Controller, Service,RequestMapping,AutoWired等)

初始化阶段:
1. 加载配置文件。
调用ServletConfig类的getInitParameter方法读取Web.xml中自定义的DispatchServlet的配置文件。
2. IOC容器初始化。
根据配置文件中定义的包名,到ClassPath下扫描包里的类
只扫描标注了@Controller, @Service等需要扫描的类。放入IOC容器中。IOC容器类型为HashMap<类名,类实例>。
对于标注了Controller的类,还要取得其类的方法名和Url,将以下Entry放入IOC容器中:
<Url, method>
对于标注了@Service的类,还要取得其实现的接口,将接口也放入IOC容器中:
<Interface类名,Service类实例>
3. 初始化DI。
遍历IOC中的类,找到类中标记为AutoWired的属性,根据其接口的类型,到IOC容器中找该接口的实现类,将实现类的实例赋值给该属性
4. HandlerMapping初始化: 在第2步已完成。

执行阶段:
1. Servlet收到post或get请求时,统一调用doDispatch方法进行处理。
2. 根据用户请求url,到IOC容器中找到相应的方法
3. 同时获取请求的参数,通过method.invoke()调用方法,此时用户就可能得到执行的返回结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值