首页 > 编程语言 > 详细

spring实现的基本思路

时间:2019-11-22 00:56:45      阅读:140      评论:0      收藏:0      [点我收藏+]

spring实现的基本思路

配置阶段

  • 配置web.xml
    • DispatchServlet
  • 设定init-param
    • 设置初始化参数的文件的加载路径contextconfigLoacation = classpath:application.xml
  • 设定url-pattern
    • /*
  • 配置Annotation
    • @Controller @Service @Autowried @RequestMapping...

初始化阶段

  • 调用init()方法
    • 加载配置文件
  • IOC容器初始化
    • Map<String,Object>
  • 扫描相关的类
    • scan-package="com.demo"
  • 创建实例并保存到容器——IOC
    • 通过反射机制将类实例化放入容器中
  • 进行DI操作——DI
    • 扫描IOC容器中的实例,给没有赋值的属性自动赋值
  • 初始化HandlerMapping——MVC
    • 将一个Url和一个方法进行一对一的关联映射Map<String,Method>

运行阶段

  • 调用doGet()/doPost()
    • Web容器调用doGet/doPost方法,获得request/response对象
  • 匹配HandlerMapping
    • 从request对象中获得用户输入的url,找到对应的Method
  • 反射调用method.invoker()
    • 利用反射调用方法并返回结果
  • response.getWrite().write()
    • 将返回结果输入到浏览器

代码实现逻辑

  • 1、加载配置文件
  • 2、扫描相关的类
  • 3、初始化IOC容器,初始化扫描到的类,并且加入IOC容器中
  • 4、扫描加有注解的类,完成依赖注入
  • 5、初始化HandlerMapping,将url对应的Method注入容器
  • 6、执行service业务方法

相关技巧

  • 将类名的首字母转小写方法
    • 先将类名转char数组
    • 再将第一个元素加32,也就是第一个字母,大小写字母的Ascii码相差32,大写字母Ascii码小于小写字母

spring实现的基本思路

原文:https://www.cnblogs.com/erfsfj-dbc/p/11909356.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!