ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringIOC,DI,MVC的基本执行原理

2020-04-20 17:04:32  阅读:202  来源: 互联网

标签:容器 SpringIOC DI 对象 IOC url MVC 注解 方法


IOC:Inversion Of Controller(控制反转),作为一个容器用于保存spring管理的所有对象

目标:使用SpringIOc容器管理对象

 1.需要了解哪些对象是被Spring容器管理的.(doScanner)方法:读取配置文件(我这里是.propertis文件,也可以是xml,yml文件)或者是注解。首先是扫描开发者声明哪些包下及其子包下类中有注解的例如@Controller,@Service,等注解。

2.这些需要交给Spring管理的类进行初始化.doInstance()方法。按照扫描的结果。将对象进行初始化。优先使用之前扫描到,声明的beanNae,若是没有则使用类名首字母消息作为ioc容器中的key.value是类的全路径保存到容器中。

DI(Dependency Injection)依赖注入.需要使用SpringIOC容器中的对象。需要在注解或者配置声明。当对象之间有依赖关系时。可以利用spring保存的对象关系

目标:spring保存的对象依赖关系,将对象从IOC容器中取出来进行注入。

步骤:

 1)判断哪些对象需要注入

方法:读取配置文件或者注解(@Autowired),判断出哪些对象是需要注入的,

2)怎么注入

方法:如果用户只有声明beanName,直接从IOC容器中取出相对应的对象进行注入若没有,根据类型进行注入。(此处一个接口只能有一个实现类,若有多个,且都交由spring管理,且未制定beanName,则在IOC步骤就会报错)

 

MVC:Model-View-Controller,model是指模型表示业务规则,View:是指用户看并与之交互的界面,controller:是指控制器接受用户的输入并调用模型和视图去完成用户的需求,MVC的目的:在于将M和V的实现代码分离。而Spring MVC其实做的就是存储url和Method的对应关系,实现传入url调用制定控制器,进行制定业务规则,返回相应的view。
    目标:存储url和Method的对应关系,实现传入url调用制定控制器,进行制定业务规则,返回相应的view

1)找到需要在handlerMapping中记录的类与方法

方法:扫描注解或者配置文件,读取类以及方法的RequestMapping中的值

2)将URL和method的对应关系存储到handlerMapping中

方法:将类的RequestMappong的值+方法的RquestMapping的值拼接作为URL,将URL作为key,method作为值,存储到handlerMapping

 3)用户调用
        基于serverlet的实现,在doPost()中执行doDispatch()方法,通过url从handlerMapping中找到指定的方法,使用反射进行调用。

标签:容器,SpringIOC,DI,对象,IOC,url,MVC,注解,方法
来源: https://www.cnblogs.com/remenber/p/12738862.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有