Spring mvc + hibernate +freemarker(开源项目)
来源:互联网 发布:读取class属性 php 编辑:程序博客网 时间:2024/05/21 21:58
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(){}
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc+hibernate+freemarker(开源项目)
- Spring mvc + hibernate +freemarker(开源项目)
- jeecms2012 框架分析 Spring mvc+hibernate+freemarker(开源项目)
- jeecms2012 框架分析 Spring mvc+hibernate+freemarker(开源项目)
- jeecms2012 框架分析 Spring mvc+hibernate+freemarker(开源项目)
- jeecms2012 框架分析 Spring mvc+hibernate+freemarker(开源项目)
- 11/4 JAVA 集合框架预习
- 导包语句
- spring jdbc配置文件加密解密
- Android传感器完全解析——电子罗盘app实现
- Crypto API (Linux)
- Spring mvc + hibernate +freemarker(开源项目)
- Android 神器ViewDragHelper(实战二)
- LBP
- Xcode Build Search Paths设置
- 项目命名规范
- 按键控制listview滚动
- jeecms建站示意图
- Mac下安装pip,virtualenv,IPython等
- Integer与int的种种比较你知道多少?