码迷,mamicode.com
首页 > 编程语言 > 详细

springMVC框架的理解加深,个人的一些想法

时间:2018-08-01 14:11:54      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:boot   详细   style   hicon   color   rar   ret   ping   9.png   

写spring-boot整合的时候,有种想看源码的冲动!呸,是钻牛角尖的毛病犯了...

  @RequestMapping("/index")
    public String index(Map<String, Object> map) {
        map.put("hello", "from HiController map");
        Map<String, Object> temp = new HashMap();
        temp.put("hi", "from HiController new map");
        /*不用写后缀*/
        return "/index";
    }

问题的产生就是为什么hello能传到前端,hi不能,因为都是同种类型的数据啊?

 

其实,大家靠猜都猜到spring通过反射,对@RequestMapping标志的方法都做了一些操作,那么具体是什么操作呢?

通过看源码,spring里面的invokeHandlerMethod,resolveHandlerArguments说的很清楚了,详细的我就不贴出来了,有兴趣的可以自己看看。

因为我感觉就算贴出来大家理解起来也难,所以就决定写一个伪代码来解释

 

func spring{
        map在此处已定义
        func index(map){
            修改map
            定义temp
            修改temp
        }
        此处map已经修改
        temp并不存在
}

这么看的话。spring的反射是不是很容易理解?

 

技术分享图片

 

springMVC框架的理解加深,个人的一些想法

标签:boot   详细   style   hicon   color   rar   ret   ping   9.png   

原文地址:https://www.cnblogs.com/ydymz/p/9400320.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!