初识Spring MVC-0412-v1.0张雅慧

初识Spring MVC


授课老师:720科技张森鹏

知识笔记:

一、用途:

是Spring框架中用于Web应用快速开发的一个模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。

二、Spring MVC优点:

它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得 spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比 struts所没有的优势。而且框架本身有代码,而且看起来也不费劲比较简单可以理解。

重要笔记:

三、Spring MVC:

之前的项目比较简单,多是用JSP 、Servlet + JDBC 直接搞定,去年开始在项目中尝试用 Struts(Spring MVC)+Spring+Hibernate, 严格按照分层概念驱动项目开发,因项目需求一直不断变化,功能不断扩充、增强,技术构建也几经改变到目前有个稳定的应用,体会了很多感受,这次先对 Spring MVC 层进行一些个人总结

MVC作为WEB项目开发的核心环节,正如三个单词的分解那样,C(控制器)将V(视图、用户客户端)与M(模块,业务)分开构成了MVC ,这边不去讨论项目中是否应用MVC ,也不针对MVC的实现原理进行讲解,而是探讨实践中如何从应用SSH, 到Spring MVC + Spring+Hibernate的演化过程。

MVC是SSH的框架的基础

先看 Struts 如何与 Spring 结合处理一次简单的请求响应代码,前台可以设为用 AJAX 调用:

1. 在 struts-config.xml 文件中加入

<!--用于声明GetPersonList。do请求委托Spring处理-->

<action path="/GetPersonList" scope="request"

type="org.springframework.web.struts.DelegatingActionProxy">

</action>

2.在 applicationContext.xml 文件中加入

<!-- 指定GetPersonList处理的代码,和注入实现业务的代码 -->

<bean name="/GetPersonList" class="cn.base.GetPersonListAction">

<property name="getPersonList" ref=" getPersonListServices"></property>

</bean>

3.cn.base.GetPersonListAction 实现请求响应代码

可以看出一次请求需求如此多的步骤,在加上一个项目下来有很多这样的请求响应,将给配置文件管理带来很大的麻烦。

经过对 Spring 的深入应用, Spring 本身提供的 URL 请求控制,对其天然支持可以让我们不需要 applicationContext.xml 再次声明一次 URL 请求 Bean ,即减少了 Struts 的声明 URL ,达到减少些繁琐的配置。但只是少了一些而已,同样也会面临着配置文件的管理问题。

Spring 注解将给我们的工作带来些轻松,利用反射机制原理出现的注解就是为了解决配置大量的配置问题。请看下处理一次简单的请求响应代码

@Controller --声明控制器

@RequestMapping("/person") –声明URL

publicclass PersonControl extends BaseController {

@Autowired –业务接口注入

private personServices personServices;

/**

* 获得人员列表

* @param request

* @param response

* @throws Exception

*/

@RequestMapping(params = "method=geList") --即处理/person.do? method=geList方法

publicvoid getnodeList(HttpServletRequest request,

HttpServletResponse response) throws Exception { //处理请求

//处理响应

}

}

可以看出,在代码上加入注解可以省去我们上面说的多个配置文件的工作,达到简便的 MVC 处理请求响应。

在配上简单的配置文件声明,即可轻松处理项目的全部请求控制工作

四、单元测试

测试准备工作:

1、搭建测试Web环境

@RunWith(UnitilsJUnit4TestClassRunner.class)

@SpringApplicationContext({"classpath:*.xml","file:src/main/webapp/WEB-INF/spring-configuration/*.xml","file:src/main/webapp/WEB-INF/*.xml" })

2、注入Controller 类

@SpringBeanByType

BeanController controller;

3、编写测试数据

测试数据的文件名一定要与测试类的文件名相同,比如测试数据BeanControllerTest.xml ,测试类 BeanControllerTest。

4、注入测试数据

@Test

@DataSet

public void testBean(){}

关键字:用途;优点;代码;测试



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值