1. Spring 框架

1.0 前言

依赖注入:
  • 构造器(构造注入)
  • set方法(设值注入)
  • filed方式 (必须引入org......anntation.Autowired)
如何配置依赖注入:
  • XML
  • 注解

除此之外,还需创建一个ApplicationContext对象,常见的有ClassPathXmlApplicationContext和FIleSystemXmlApplicationContext。一个从类加载路径中加载。一个从文件系统中加载。

1.1 XML配置文件及控制反转容器的使用

  • Spring的配置文件可以是一份或者多份(可以在一份中导入其他的配置文件)。
  • 在xml里,可以在<bean     >元素里,通过构造器以及工厂方法来创建一个bean实例。
  • 类被销毁之前可以用destroy-method属性,执行某些方法。
  • 构造注入及依赖注入。

2 模型2和MVC模式

一个实现MVC模式的应用包含:模型(采用POJO)、视图(大部分采用JSP)、控制器(Servlet 或者 filter,SpringMVC常用Ser,Struts2 常用Filter)。
这里要注意的是:Controller类(包含业务逻辑代码),并不MVC里的C,而是M。真正的C仍然是Servlet 。
本章的几个例子,依次的改进是:
  • 第一个例子,有Product类和ProductForm类,所有业务逻辑都写在Servlet 里。
  • 第二个例子,将业务逻辑代码提取到Controller类中。这两个类都实现了Controller接口,一个类里也就只能实现一个方法(handleRequest方法)。不过,相对第一个例子,Servlet 里的代码量已经大大减少,只需调用两个Controller类即可。
  • 第三个例子,加了一个校验器。在save这个Controller类中,save之前,有一个校验。用一个LIST<STRING>保存错误,最后在JSP页面显示错误。

3SpringMVC介绍

SpringMVC是一个已经包含了DispatcherServlet的MVC框架。它调用控制器类方法,并将结果转发到视图。我们就不用自己编写DispatcherServlet了。
  • 使用DispatcherServlet是需要在web.xml里配置的。配置好DispatcherServlet之后,它会自动寻找web-inf目录下的SpringMVC配置文件。
  • 本章中例子是在前面例子的基础上改进的。具体有:在SpringMVC的配置文件中,用<bean>元素定义了两个Controller类,bean的name就是类所映射的URL。
  • 视图解析器,viewResolver。可以配置前缀、后缀。

4 基于注解的控制器

优点很明显:①可以在一个类里处理多个动作;②请求映射不需要写在配置文件中。只需用@RequestMapping注释类型即可。
要想使用注解,必须现在SpringMVC的配置文件中进行声明:在<beans   >元素里声明spring-context,以及在元素里声明<component-scan >,目的是扫描出所有使用了注解的类。
依赖注入:@Autowired 和 @Service。一个表示等待依赖注入,一个表示注入源。
@RequestParam获取请求URL中的参数值。
@ModelAttribute。SpringMVC在每次调用 请求所对应的处理方法时,都会创建一个Model类型的实例。但是要想在方法中使用这个实例,则必须要先在方法要求的形参中添加一个Model类型的参数。对@ModelAttribute,需要额外说一下:
  • 若用@ModelAttribute修饰方法中的形参,则每次调用该方法时,就会将该形参对象添加到Model中。
  • 若用@ModelAttribute修饰方法,这个方法会在该类的其他普通方法调用之前被调用,并返回一个对象或者void类型。if  == 对象,返回对象则自动添加到Model中,if == void,则必须在代码中自行添加该对象,即model.addattribute(XXX).

Spring MVC学习指南(1-4章总结)相关推荐

  1. Spring MVC学习指南(11-12章总结)

    11:上传文件 将介绍如何在SpringMVC中使用Commons FileUpload和Servlet 3上传文件. 在填写表单的html中,必须将html的enctype属性值设置为multipa ...

  2. Spring MVC学习指南(5-7章总结)

    列表内容 5:数据绑定和表单标签 数据绑定是指将用户输入绑定到领域模型(domain). 表单标签库包含了 可以在JSP页面中渲染HTML元素的标签. 典型的有form.input.options等. ...

  3. spring mvc 学习指南二

    Spring控制反转容器的使用 主要介绍Spring如何管理bean和依赖关系. 通过构造器创建一个bean的实例 之前的方法中,可以通过调用ApolicationContext的getBean方法可 ...

  4. spring mvc 学习指南一

    Spring框架 依赖注入技术,作为代码可测试性的一个解决方案已经被广泛应用,很多人在使用中并不区分依赖注入和控制反转(IOC) 简单来说,依赖注入的情况如下,有两个组件A和B,A依赖与B.假定A是一 ...

  5. 《Servlet、JSP和Spring MVC初学指南》——第2章 会话管理 2.1URL重写

    本节书摘来自异步社区<Servlet.JSP和Spring MVC初学指南>一书中的第2章,第2.1节,作者:[加]Budi Kurniawan(克尼亚万) , [美]Paul Deck著 ...

  6. Servlet JSP和Spring MVC初学指南 PDF

    下载地址:网盘下载 Servlet和JSP是开发Java Web应用程序的两种基本技术.Spring MVC是Spring框架中用于Web应用快速开发的一个模块,是当今流行的Web开发框架之一. 本书 ...

  7. Spring MVC 学习总结(九)——Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务)...

    Spring MVC 学习总结(九)--Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务) 目录 一.JSON 1.1.概要 1.2.使用ModelAndView ...

  8. Spring MVC 入门指南(二):@RequestMapping用法详解

    为什么80%的码农都做不了架构师?>>>    一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指 ...

  9. Spring MVC 学习笔记 对locale和theme的支持

    Spring MVC 学习笔记 对locale和theme的支持 Locale Spring MVC缺省使用AcceptHeaderLocaleResolver来根据request header中的 ...

最新文章

  1. CAS (10) —— JBoss EAP 6.4下部署CAS时出现错误exception.message=Error decoding flow execution的解决办法...
  2. 微信小程序页面间通信的5种方式
  3. c# usercontrol ,networkcomms3.0 Invoke总结
  4. qt跟随鼠标动态绘制_采用Qt快速绘制多条曲线(折线),跟随鼠标动态显示线上点的值(基于Qt的开源绘图控件QCustomPlot进行二次开发)...
  5. 【Android 插件化】VirtualApp 源码分析 ( 启动应用源码分析 | HomePresenterImpl 启动应用方法 | VirtualCore 启动插件应用最终方法 )
  6. 宝塔php漏洞,[安全预警]关于最近宝塔闹得很厉害的PMA漏洞BUG
  7. MySQL索引背后的数据结构及算法原理(employees实例)
  8. java新的日期_java8你应该了解的新特性(新时间与日期API)
  9. 计算机房电磁辐射防护,机房防辐射处理解决方案
  10. redis基于Lettuce客户端实现读写分离
  11. 什么是动态编程Python示例
  12. gitee项目能用SVN拉取吗_使用Git开发维护Github开源项目的一些经验
  13. 产品分析报告—年轻人的体育社区—虎扑
  14. [ Linux ] 零散文件系统安装各种命令和软件的方法
  15. Cousera吴恩达深度学习第二次编程作业
  16. 基于SIR的社交网络谣言传播问题简单建模
  17. 现代互联网的网络拓扑
  18. render方法的使用
  19. LeetCode_715. Range Module
  20. 国内五款好用的开源建站系统

热门文章

  1. selenium模拟登陆百度云盘
  2. 电脑键盘(Keyboard)
  3. c语言中反斜线的作用,C语言中反斜杠的使用
  4. 直播APP的应用(使用七牛直播平台SDK和环信IM低仿映客)
  5. 个人用户之浪潮云服务器小白教程
  6. 像素格式之YUV(基于海思Hisi35xx平台)
  7. 自考计算机 英语有听力吗,英语自考听力本科,自考只剩一门是什么感受?
  8. 计算机必备的九门知识
  9. 【漏洞复现】海康威视iVMS综合安防系统任意文件上传漏洞复现 (在野0day)
  10. 小记pandas中DataFrame.dropna方法