




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、简单写一个搭建Spring MVC3.0的流程(以Spring3.0.5为列),数据库交互使用SpringJdbcTemplate,附件有项目(没有jar包)。整个项目结构如下图所示:1、去官网下载3.0.5所有jar包,所需jar包,见附件图片,每个jar包得用处如下:org.springframework.aop- 3.0.0.RELEASE-Spring的面向切面编程,提供AOP(面向切面编程)实现org.springframework.asm- 3.0.0.RELEASE-Spring独立的asm程序,相遇Spring2.5.6的时候需要asmJar包.3.0开始提供他自己独立的asm
2、Jarorg.springframework.aspects- 3.0.0.RELEASE-Spring提供对AspectJ框架的整合org.springframework.beans- 3.0.0.RELEASE-SpringIoC(依赖注入)的基础实现org.springframework.context.support- 3.0.0.RELEASE-Spring-context的扩展支持,用于MVC方面org.springframework.context- 3.0.0.RELEASE-Spring提供在基础IoC功能上的扩展服务,此外还提供许多企业级服务的支持,如邮件服务、任务调度、J
3、NDI定位、EJB集成、远程访问、缓存以及各种视图层框架的封装等org.springframework.core- 3.0.0.RELEASE-Spring3.0的核心工具包org.springframework.expression- 3.0.0.RELEASE-Spring表达式语言org.springframework.instrument.tomcat- 3.0.0.RELEASE-Spring3.0对Tomcat的连接池的集成org.springframework.instrument- 3.0.0.RELEASE-Spring3.0对服务器的代理接口org.springframew
4、ork.jdbc- 3.0.0.RELEASE-对JDBC的简单封装org.springframework.jms- 3.0.0.RELEASE-为简化JMS API的使用而作的简单封装org.springframework.orm- 3.0.0.RELEASE-整合第三方的ORM框架,如hibernate,ibatis,jdo,以及spring的JPA实现org.springframework.oxm-3.0.0.RELEASE-Spring 对Object/XMl的映射支持,可以让Java与XML之间来回切换org.springframework.test- 3.0.0.RELEASE-对
5、Junit等测试框架的简单封装org.springframework.transaction- 3.0.0.RELEASE-为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理org.springframework.web.portlet- 3.0.0.RELEASE-SpringMVC的增强org.springframework.web.servlet- 3.0.0.RELEASE-对JEE6.0 Servlet3.0的支持org.springframework.web.struts- 3.0.0.RELEASE-整合Struts的时候的支持org.spring
6、framework.web- 3.0.0.RELEASE-SpringWeb下的工具包 说明:jar包库使用官方提供的,无需全部加载到项目中。 、spring对jdk的依赖: JDK 6+ for Spring Framework 4.x JDK 5+ for Spring Framework 3.x 、对spring的maven依赖以及介绍,请看官方简介; 、spring各个版本的jar包全量下载地址,请点击这里,有惊喜! 、什么?! 有些人想只要获取spring的一个jar包,不想全部都下载,那就请点击这里。2、借鉴spring官网写法,建立一个src-resources Source F
7、older,再新建目录META-INF,存放springmvc-servlet.xml和jdbc-context.xml文件(事务和数据库连接池的管理);以及perties和perties。JDBC-context.xml文件:Xml代码1. 2. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. !-最大空闲时间,超过空闲时间的连接将被丢弃29. 需要注意:mysql默认的连接时长为8小时(28800)【可在my.ini中添加wait_timeout=30(单位秒)设置连接超时】,这里设置c3p0
8、的超时必须31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. springmvc-servlet.xml文件:Xml代码1. 2. 13. 14. 15. 16. 17. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. !-全局配置35. 36. 37. 38. -39. 43. 44. 45. 50. 51. 52. 53. 54. 55. 56. 57. 3、修改web.xml文件如下:X
9、ml代码1. 4. 5. webAppRootKey6. springmvc.root7. 8. 9. 10. contextConfigLocation11. classpath:/META-INF/jdbc-context.xml12. 13. 14. 15. org.springframework.web.context.ContextLoaderListener16. 17. 18. 19. spring-mvc20. org.springframework.web.servlet.DispatcherServlet21. 22. contextConfigLocation23. cl
10、asspath:/META-INF/springmvc-servlet.xml24. 25. 126. 27. 28. 29. spring-mvc30. /31. 32. 33. 34. encodingFilter35. org.springframework.web.filter.CharacterEncodingFilter36. 37. 38. 39. encodingFilter40. /*41. 4、从springmvc-servlet.xml中可以知道,我把jsp页面放在WEB-INF/views目录中,静态文件(图片,js,css等)放在Resources目录中,便于管理。5
11、、以上配置文件基本完成,下面开始代码编写:首先说几个常用的注解:Java代码1. Autowired和Qualifier自动注入根据类型注入2. Autowired可以对成员变量、方法以及构造函数进行注释,3. Qualifier的标注对象是成员变量、方法入参、构造函数入参。4. ps:两者结合使用相当于Resourcede效果。5. Resource自动注入根据名称注入,可写参数name=6. Controller表示控制器7. Service表示业务处理层一般在serviceImpl8. Repository表示持久层一般在daoImpl9. Component当你的类不清楚是哪一层的时候
12、使用该注解10. ResponseBody异步返回数据类型为json11. RequestMapping路径,请求类型等设置12. InitBinder数据绑定13. RequestBody、ModeleAttributes、SessionAttributes等注解的详细介绍:也可以参考:首先写一个BaseController,可做一些数据绑定之类的全局操作(如:把日期字符串转换为Date日期)。Java代码1. Controller2. publicclassBaseController3. 4. InitBinder5. protectedvoidininBinder(WebDataBin
13、derbinder)6. SimpleDateFormatsdf=newSimpleDateFormat(yyyy-MM-dd);7. binder.registerCustomEditor(Date.class,newCustomDateEditor(sdf,true);8. 9. 然后写一个拦截器,拦截器有两种实现方式,1、继承HandlerInterceptorAdapter类,2、实现HandlerInterceptor接口。Java代码1. /*2. *自定义拦截器3. *authortushen4. *dateNov5,20115. */6. publicclassMyInterc
14、eptorextendsHandlerInterceptorAdapter7. 8. /*9. *最后执行,可用于释放资源10. */11. Override12. publicvoidafterCompletion(HttpServletRequestrequest,13. HttpServletResponseresponse,Objecthandler,Exceptionex)14. throwsException15. /TODOAuto-generatedmethodstub16. super.afterCompletion(request,response,handler,ex);
15、17. 18. 19. /*20. *显示视图前执行21. */22. Override23. publicvoidpostHandle(HttpServletRequestrequest,24. HttpServletResponseresponse,Objecthandler,25. ModelAndViewmodelAndView)throwsException26. 27. System.out.println(request.getContentType()+-+request.getCharacterEncoding()+-+request.getContextPath();28.
16、 System.out.println(MyInterceptor.postHandle()-viewName:+modelAndView.getViewName();29. super.postHandle(request,response,handler,modelAndView);30. 31. 32. /*33. *Controller之前执行34. */35. Override36. publicbooleanpreHandle(HttpServletRequestrequest,37. HttpServletResponseresponse,Objecthandler)throws
17、Exception38. 39. Stringurl=request.getRequestURI();40. 41. System.out.println(MyInterceptor.preHandle()+url);42. 43. returnsuper.preHandle(request,response,handler);44. 45. 在Util包中DBUtil.java中实现Spring JDBC Template的封装,操作数据库;写一个DaoException继承spring的运行时异常类NestedRuntimeException,在数据库操作异常时抛出该异常,在control
18、ler层进行处理。写一个抽象的BaseDao接口和BaseDaoImpl实现类,让所有模块共享使用(详见附件)。Java代码1. /*2. *3. */4. packagecom.aokunsang.dao;5. 6. importjava.io.Serializable;7. importjava.util.List;8. importjava.util.Map;9. 10. /*11. *authortushen12. *dateNov5,201113. */14. publicinterfaceBaseDao15. 16. /*17. *保存或者更新实体18. *paramsql19. *paramentry20. */21. voidsaveOrUpdateObject(Stringsql,Tentry);22. 23. /*24. *查询实体列表25. *paramsql26. *paramclassName27. *paramobj28. *return29. */30. ListgetObjList(Stringsql,ClassclassName,Objectobjs);31. 32. /*33. *查询实体34. *param35. *paramsql36. *paramobjs37. *r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专科医院人才流动与薪酬体系分析
- 修车设备租借合同标准文本
- 医疗数据挖掘驱动医疗行业变革的力量
- 上海导游合同范例
- H型高血压的临床护理
- 上有贷款合同范例
- 曼特波隆鼻的临床护理
- 小儿眼科健康教育课件
- 小隐静脉曲张的临床护理
- 医疗行业的职业道德与患者隐私保护的融合
- 6.3基层群众自治制度 说课课件高中政治统编版必修三政治与法治
- (正式版)QC∕T 625-2024 汽车用涂镀层和化学处理层
- 2023北京顺义区招录乡村振兴协理员及考察笔试历年典型考题及考点剖析附答案带详解
- 跟着音乐游中国智慧树知到期末考试答案章节答案2024年广州大学
- 传统文化醒狮模板
- 教科版四年级上册科学第一单元《声音》测试卷附答案(精练)
- (高清版)JTGT D81-2017 公路交通安全设施设计细则
- QC/T 629-2021 汽车遮阳板-PDF解密
- FZT 64056-2015 洁净室用擦拭布
- 小学数学五年级下册通分练习100题附答案
- 混凝土强度评定表(自动计算)
评论
0/150
提交评论