Spring mvc + hibernate +freemarker(开源项目)

来源:互联网 发布:读取class属性 php 编辑:程序博客网 时间:2024/05/21 21:58
    Spring mvc + hibernate +freemarker(开源项目)

1spring mvc            :   分离了控制器,模型对象
 属于springframework(原版)后续产品,

spring框架提供了web应用程序全功能mvc模块。使用spring插入mvc架构,

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。 使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制

Lifecycle for overriding binding, validation, etc.;易于同其它View框架(Titles等)无缝集成,采用IOC便于测试。

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

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(){}









2.










0 0
原创粉丝点击