怎么从Spring的几个阶段理解其工作过程

技术怎么从Spring的几个阶段理解其工作过程这篇文章给大家介绍怎么从Spring的几个阶段理解其工作过程,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Spring框架非常强大,想要彻底弄懂Spri

本文从几个阶段向您介绍如何理解Spring的工作过程。内容非常详细。感兴趣的朋友可以参考一下,希望对你有所帮助。

Spring框架非常强大,完全理解Spring非常困难。

为了理解Spring是如何工作的,让我们研究一下Spring是如何加载的。春天会经历几个阶段。

从Javaweb的角度,我们把Spring分成几个阶段进行分析,从而加深对Spring的理解。

Spring的运行大致可以分为三个阶段:配置阶段、初始化阶段和运行时阶段。

让我们通过下图来看看Spring的几个阶段。

怎么从Spring的几个阶段理解其工作过程

配置阶段

让我们以JavaWeb项目为例。创建Spring项目时,如果要启动项目,首先要做什么?必须先配置它。

首先,我们将找到web.xml文件,并将Spring容器和请求分发器的配置引入到web.xml中,因为web.xml是整个web项目的入口。

listener listener-class org . spring framework . web . context . context loaderlistener/listener context-param param-name contextconfiglocation/param-name param-value class path : spring . XML,class path : spring-my batis . XML/param-value/context-param servlet servlet-namesprinmvc/servlet-name servlet-class org . spring framework . web . servlet . dispatchervlet/servlet-class init-param-name

初始化阶段

夜还年轻,星星已经落了,爱情也落了。

配置完成后,项目启动时,web容器会自动调用servlet的初始化方法。ContextLoaderListener将从指定的配置文件中读取配置信息,初始化并加载待加载到Spring IOC容器中的bean,并对引入@ autowritten注释或通过配置文件声明依赖关系的bean进行依赖注入和自动组装。然后将初始化HandlerMapping,带有@Controller注释的bean将通过ResultMapping注释的值绑定到方法名,并执行URL映射。

@ controller @ request mapping('/info ')publicationenfocontroller {/* * *按信息类型查找公共信息*@paraminfoType信息类型* @ return */@ request mapping(' Find infobytype ')@ responsebodypublicatmapstring,ObjectselectByInfoType(StringinfoType){//.返回结果;}}

例如:

让我们看看上面的控制器类。首先,用@Controller和@ResultMapping('/info ')对该类进行注释。selectByInfoType()方法上有一个@ resultmapping(“/find infobytype”)注释。

因此,当Spring初始化时,注释扫描器将扫描该类(在注释的情况下),发现该类具有@ResultMapping(“/info”)注释,然后扫描该类下所有带有@ ResultMapping()注释的方法。下面的代码显示了selectByInfoType()方法将被映射到HandlerMapping。

handler mapping . put('/info/find infobytype ',' infocontroller . selectbyinfotype(StringinfoType)');

运行阶段

处理URL请求,通过DispatchServlet分发器从HandlerMapping中找到对应类的方法,利用反射机制将用户的请求分发到对应Controller的对应方法进行处理,然后将处理结果返回给用户。

string method=handler mapping . get('/info/find infobytype ');//找到对应的方法后,使用反射机制调用方法。在这里,我们用图解法帮助理解Spring的工作原理,但只是做一个粗略的分析。实际的实现过程要比这复杂得多。感兴趣的同学可以阅读源代码或者查阅资料了解更多。

如何从几个阶段理解Spring的工作过程,希望在这里分享。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/131265.html

(0)

相关推荐

  • 抖音3元1000粉,抖音花3元能买多少粉丝?

    技术抖音3元1000粉,抖音花3元能买多少粉丝?试着去挑选那些能吸引别人眼球的封面,让更多的抖友点入你的视频,查看你的视频.太普通的封面可能会让观众在众多作品中忽略掉,而更多的则是无法通过双击和评论来分享,因此说好的封面

    测评 2021年10月21日
  • 手机软件开发费用,开发一个App的费用是多少

    技术手机软件开发费用,开发一个App的费用是多少首先手机软件开发费用,一个App开发的基本要求,至少需要ios和android两个平台,来满足现在主要的手机平台使用用户,ios和android平台其中任意一个的开发价格大

    生活 2021年10月25日
  • 如何在原有的框架中集成shiro

    技术如何在原有的框架中集成shiro今天就跟大家聊聊有关如何在原有的框架中集成shiro,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。今天的任务是在原有的框架中集

    攻略 2021年10月19日
  • ORACLE WITH AS 用法

    技术ORACLE WITH AS 用法 ORACLE WITH AS 用法With查询语句不是以select开始的,而是以“WITH”关键字开头 可认为在真正进行查询之前预先构造了一个临时表,之后便可多

    礼包 2021年11月26日
  • MySQL性能优化的方法是什么

    技术MySQL性能优化的方法是什么本篇内容主要讲解“MySQL性能优化的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL性能优化的方法是什么”吧!一、优化思

    攻略 2021年12月3日
  • 如何使用pt工具校验修复主从

    技术如何使用pt工具校验修复主从这篇文章主要为大家展示了“如何使用pt工具校验修复主从”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用pt工具校验修复主从”这篇文章吧。

    攻略 2021年11月2日