架构师审美观1——spring初体验(二)

十、Spring实现的基本思路

    1、配置阶段

        a.配置web.xml(DispatcherServlet);

        b.设定init-param(contextConfigLocation = classpath:application.xml);

        c.设定url-pattern(/*);

        d.配置Annotation(@Controller @Service @Autowired @RequestMapping...);

    2、初始化阶段

        e.调用init()方法(加载配置文件);

        f.IOC容器初始化(Map);

        g.扫描相关的类(scan-package = "com.test");

        h.创建实例化并保存至容器(通过反射机制将类实例化放入IOC容器中);

        i.进行DI操作(扫描IOC容器中的实例,给没有赋值的属性自动赋值);

        j.初始化HandlerMapping(将一个URL和一个Method进行一对一的关联映射Map);

    3、运行阶段

        k.调用doPost()/doGet()(Web容器调用doPost()/doGet()方法,获得request/response对象);

        l.匹配HandlerMapping(从request对象中货地用户输入的url,找到其对应的Method);

        m.反射调用method.invoker()(利用反射调用方法并返回结果);

        n.reponse.getWrite().write()(将返回结果输出到浏览器)。

你可能感兴趣的:(架构师审美观1——spring初体验(二))