Spring初入配置~十

作者: 胖琪的升级之路 | 来源:发表于2017-04-18 22:31 被阅读95次

构建Spring Web应用程序

这篇简单的来说就是初次使用Spring MVC.

每当用户从浏览器点击链接或者提交表单的时候,请求就开始工作了。这里面有很复杂的过程。

来自Spring实战第四版

 1)用户点击链接或者提交表单发送请求

 2)请求进入Spring 的第一个地方DispatherServlet。这是一个前端控制器来将用户的请求发送给其他应用程序。

3)DispatherServlet就是根据不同的处理映射器(handler mapping)将请求发送给控制器。

4)耐心等待控制器处理这些数据或者根据不同的业务逻辑将其委托给其他对象来处理业务。完成后这些信息将返回给浏览器显示,这些信息被称为Model,最后发送给视图view。控制器的最后一步操作就是将model和view打包发送回去给DispatherServlet.

 5 ) DispatherServlet根据传输回来的逻辑名称,将使用时解析器来匹配特定的视图来实现。

 6 )视图结果的展示。这个渲染后再把响应给浏览器

搭建Spring MVC

   1这次介绍的是使用java的方式来配置Spring,只适合Servlet3.0以上环境,传统的xml配置方式以后再说。

来自Spring实战第四版

1    该图中SpittrWebAppInitializer类继承自AbstractAnnotationConfigDispatcherServletInitializer类,该类能够自动配置Dispatcher-Servlet和Spring应用上下文。对该类进行追踪会发现。该类实现了javax.servlet.ServletContainerInitializer接口。这个接口就是用来配置Servlet容器的。在Spring中也实现了ServletContainerInitializer这个接口名字是SpringServletContainerInitializer,然后再去寻找实现WebApplicationInitializer的类并把配置任务交给他们来完成。

在Spring3.2中引入了WebApplicationInitializer简单的实现,名字是AbstractAnnotationConfigDispatcherServletInitiali,所以在上图所说的SpittrWebAppInitializer也就间接的实现了WebApplicationInitializer。

2图中getServletMappings()会将路径映射到我们所说的DispatcherServlet上面。当DispatcherServlet启动的时候会把配置好的bean全部加载,在图中的getServletConfigClasses()中我们使用定义的WebConfig配置类中的bean. 在这里可以指定bean.在SpringWeb中还有一个应用上下文,这个就是由ContextLoaderListener创建的。实际上AbstractAnnotationConfigDispatcherServletInitializer这个类会同时创建DispatcherServlet和ContextLoaderListener。然后GetServletConfigClasses()方法返回带有注解@Configuration的类就是用来定义DispatcherServlet管理的bean.同理getRootConfigClasses()方法返回的带有@Configuration注解的类将会用来配置ContextLoaderListener创建的应用上下文中的bean。

3如图

来自Spring实战第四版

在该图中使用了@ComponentScan("spitte.web") 会扫描spitte.web 会找到该找到的bean.

我们会为加入bean的上面加入@Controller注解

来自Spring实战第四版

通过return 返回的视图,DispatcherServlet会将根据配置的InternalResourceViewResolver方式视图的名称将会解析到/WEB-INF/views/home.jsp的jsp下来展示视图。

对于最新的在Spring实战第四版中测试的案例还没有得到验证,待验证后在对其总结。

相关文章

  • Spring初入配置~十

    构建Spring Web应用程序 这篇简单的来说就是初次使用Spring MVC. 每当用户从浏览器点击链接或者提...

  • 初入spring配置

    初入公司已经半年多了,在代码上可能应用已经熟悉了但是感觉自己啥也不会了!正好家里面有本关于spring实战的书,正...

  • Spring初入配置~十一

    在上一篇中我们进行了控制器方法的编写,只是简单的配置了下视图渲染。这一篇中我会介绍有关jsp模型的数据。 1视图解...

  • Spring初入配置~十二

    1使用Apache Tiles视图定义布局 在jsp中布局并不是做的很好,最好的方式就是使用布局引擎。我们在这里介...

  • Spring初入配置~十三

    首先我们在前面介绍的springMVC已经是很强大的内容了,但是我们还是想说下其他的方案。虽然我的内容还是Spri...

  • Spring初入配置~十四

    前一篇我们简单的说了下用其他的方式来创建SprignMVC,我们这一篇说下怎么处理multipart形式的数据。我...

  • Spring 初入配置~二

    上篇文章简单的把构造方法注入类型介绍了下,本篇作为第二篇接着把注入属性介绍下! 除了构造方法能注入属性,我们还能通...

  • Spring初入配置~七

    这次总结的是我们面向切面的Spring. 首先我们先看下关于面向切面编程 的概念。什么是面向切面编程呢? 我们通常...

  • Spring初入配置~八

    上篇文章我们简单的介绍了下AOP相关的术语,这篇中我们主要来看下怎么在Spring中实现的。 一、Spring提供...

  • spring初入配置~三

    有一段时间没更新了!最新因为实习的原因心情不好,但是幸好自己调整过来!也恢复正常以后尽量做到两天一更满足自己的求知...

网友评论

    本文标题:Spring初入配置~十

    本文链接:https://www.haomeiwen.com/subject/bdwzattx.html