版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、为列),数据库交互使用spring JDBC Template,附件有项目(没有 jar包)。整个项目架构如下图所示:玛gffl-c wn. aolunE 匹容汨 imp!j avaffiservice庇田llftpi,i Qj Login5r-ice. jayi 舟 util+ jl BaoExcption jiva14. 2 BBUtilJiVi 斗-wet+ t*- contr ullerI- ijj interceptor:1 j | B 45eC nutr oiler. j iva、由 Er(r-resourcesHETA-IBF;C1dL ccc-n七已朮七.xml口 spr in
2、即ab生erl.e ta perties,L-. i)roperti es葩;JKE System Litrairy j dld&Java IE 5 Li brari邑:EeErnce J Lilt*i &s.7febcmt:t. Cf-匕 2z TtfEB-IKF& lib4| resurf3 tJ- vis*s I# logi-n. jsP MyHomt, jsp1、去官网下载所有jar包,所需jar包,见附件图片,每个SpringAOP(面向切面编程)实现Springjar包得用处如下:的面向切面编程,提供独立的asm程序,相遇的时候需要asmJar包.3.0开始提供他自己
3、独立的asmJar整合Spring提供对AspectJ框架的现SpringloC(依赖注入)的基础实的扩展支持,用提供在基础IoC功能上的JNDI定位、EJB集成、的核心工具包表达式语言对Tomcat的连接对服务器的代理接口对JDBC的简单封装为简化JMS API的使用而作的简整合第三方的 ORM框架,如对Object/XMI的映射支对Ju nit等测试框架的简单封装为 JDBC、Hibernate、JDO、-Sprin gMVC的增强-对 JEE6.0 Servlet3.0 的支持-整合Struts的时候的支持Sprin gWeb下的工具包Spring-context于MVC方面Spring
4、扩展服务,此外还提供许多企业级服务的支持,如服务、任务调度、 远程访问、缓存以及各种视图层框架的封装等Sprin g3.0SpringSprin g3.0池的集成单封装org.spri ngframework.orm- 3.0.0.RELEASE hibernate,ibatis,jdo ,以及 spring 的 JPA 实现Spring持,可以让Java与XML之间来回切换JPA等提供的一致的声明式和编程式事务管理 -邑,.R也叠史直4 LilfarisEli+ 0 ij :丄 caLt i 1mi+ J1+ 申0:王口= 円i- l-0S 0 :占 JF=?it oDnQ0a o -L.9
5、-U s C3 Lt O4_1U1 soke e1. O-irL&fall :i anc lph&l.ar ism. j ar c3p0-0.9 1.2. jar cflib_ii&dep-E. !. jar 5 6IMb6A-iftS. J31* c oinmons-co dec- 1.2. j at- p4nm*nwuqIIwctil,ar gMnmons-lajig-2.4. j ar c sinmons-lo ggiRg. j ar j ackscm_core-asl_l. G. 4. Jr j 4elfsiff*r*4eL* 1. fc. 4. jar 1 o g4j -1.2. 1
6、5. j ar nysql_connector-java-5, Ci.j arslf4j- tpil.6. L jar slf4jlag4jl2l. 5. 1. jar spring-aop-S. U.5 KELENE- jar Epring-acir. 0. 5. REIASI. jarS per i nb 已- 0. 5. HELESE. J irsperimg-bi rtdiiig-. . 1. FT.FhF az- sprinfGfliLUxt3. 0.5. RELEASE.spiring-eontt-suppcr t3.0. 5. RELEASE. j*r Epring-irwr e
7、-3. 0. 5. RELEASE, j orEpriTig-fixpressinr3 5 KELfASE jar tpring-jdbc-3 0. 5 MLEASE. j at spering-jms 3. D .弓. MLEiSI. j a- spriiig-orm_3- O-S. m-Eptring-tic-3. . 5. RELEASE, jar pcring-web-. 0. S. RELEASE jar 5priTig-wfcbflow-2. Z. 1. KELEftSE.Ejuring-wftbmvc-3. . 5. RELEASE jsrw t an-lii Ajar2、借鉴
8、spring 官网写法,建立一个 src-resources Source Folder,再新建目录 META-INF,存放springmvc-servlet.xml 和jdbc-context.xml文件(事务和数据库连接池的管理);以及perties禾口 perties 。JDBC-co ntext.xml文件:Xml代码 I1. 2. locatio n=classpath:database.p!-最大空闲时间,超过空闲时间的连接将被丢弃需要注意:mysql默认的连接时长为8小时(28800 )【可在my.ini中添加wait_timeout =
9、30(单位秒)设置连接超时】,这里设置c3p0的超时必须 33. !用以控制数据源加载的PreparedStateme nt数量,但由于34.35.属于单个Conn ection 而不是整个连接 -5.46.aop:advisorl.*Servicelmpl.*(.)47.tx:method48.49.tx:methodokunsan g.util.DaoExcepti onname=add*propagati on=REQUIRED/name=update*propagati on=REQUIRED/n ame=* read-only
10、=true rollback-for =.a /3.54.55.需把con text:comp onen t-sca n base-package =.aok unsangtype =regex expressi on=.aok unsa56.57.spri ngmvc-servlet.xml文件:Xml代码SI1. 2. !-全局配置- 42. 43.ourceViewResolver 7.48. 3、修改 web.xml文件如下:Xml代码1. 2. contextConfigLocation3. classpath:/META-INF/jdbc-c
11、 on text.xml4. 5.5. 6. org.spri ngframework.web.c on text.C on textLoaderListe ner 7. 9.8. 9. spri ng-mvc 10.let 11. 12. contextConfigLocation13. classpath:/META-INF/spri ngmvc-servlet.xml14. 15. 1 16. 19.17. 18. spri ng-mvc 19. / 20. 24.21. 26.filter- nameen codi ngFilter/filter- .spri ng
12、framework.web.filter.CharacterE ncodingFilter 1.filter- nameen codi ngFilter/filter- name32./* 33.4、 从springmvc-servlet.xml中可以知道,我把 jsp页面放在 WEB-INF/views 目录中,静 态文件(图片,js, css等)放在Resources目录中,便于管理。5、以上配置文件基本完成,下面开始代码编写:首先说几个常用的注解:Java代码 Q1. Autowired 自动注入根据类型注入Autowired 可以对成员变量、方法以及构造函数进行注释
13、,而 Qualifier 的标注对象是成员变量、方法入参、构造函数入参。2. Resource 自动注入根据名称注入,可写参数name=3. Con troller表示控制器4. Service5. Repository6. Comp onent表示业务处理层一般在serviceImpl 表示持久层一般在daoImpl当你的类不清楚是哪一层的时候使用该注解7. Respo nseBody异步返回数据类型为 json8. RequestMappi ng路径,请求类型等设置9. InitBinder数据绑定 注解的详细介绍:blog.csd n.n et/zh on gxiuche ng/arti
14、cle/details/6662300也可以参考:https:/.ibm./developerworks/c n/java/j-lo-spri ng25-ioc/首先写一个BaseController ,可做一些数据绑定之类的全局操作(如:把日期字符串转换为Date日期)。Java 代码 EZI1. Con troller2.3.public class BaseC on troller 4.5.6.In itB in derprotected void inin Binder(WebDataBinder binder)SimpleDateFormat sdf =new SimpleDateF
15、ormat( yyyy-MM-dd)7.8.9.bin der.registerCustomEditor(Date. tor(sdf, true );class , new CustomDateEdi然后写一个拦截器,拦截器有两种实现方式,1、继承 HandlerlnterceptorAdapter类,2、实现 Handlerlnterceptor接口。Java代码 1.2.3./*自定义拦截器* author tushe n4.5.6.* date Nov 5, 2011*/public class Myln terceptorexte nds Han dlerI nterceptorAda
16、pter 7.8./*9.10.11.*最后执行,可用于释放资源*/Override12.13.public void afterCompletion(HttpServletRequest request,HttpServletResp onse resp on se, Object han dler, Exception ex)7.throws Excepti on / TODO Auto-ge nerated method stubsuper .afterCompletion(request, response, handler, ex);18.19./*20.21.显
17、示视图前执行22.*/Override6.public void postHandle(HttpServletRequest request, HttpServletResp onse resp on se, Object han dler, ModelA ndView modelA ndView)throws Exceptio n 27.28.29.System.out.pri ntln( request.getC onten tType()+st.getCharacterE ncodi ng()+request.getC on textPath();System.out
18、.pri ntl n(Myl nterceptor.postHa ndle()-viewName:+modelA ndView.getViewName();super .postHandle(request, response, handler, modelAndView+reque2.);/* Con troller*/Override之前执行publicboolea n preHa ndle(HttpServletRequest request,HttpServletResp onse resp on se, Obj
19、ect han dler)Exceptio n String url = request.getRequestURI();System.out.pri ntl n(MyI nterceptor.preHa ndle()+url);throws43.44.returnsuper .preHandle(request, response, handler);45.II在Util包中DBUtil.java 中实现Spring JDBC Template的圭寸装,操作数据库;写一个DaoException 继承spring的运行时异常类 NestedRuntimeException,在数据库操作异常时
20、抛出该异常,在 controller层进行处理。写一个抽象的BaseDao接口和BaseDaoImpl实现类,让所有模块共享使用(详见附件)..Java 代码 EZI*/package .aokunsang.dao;import java.io.Serializable;import java.util.List;import java.util.Map;10. /*11. * author tushe n6.37.38.
21、1.52.* date Nov 5, 2011*/publicin terfaceBaseDao * 保存或者更新实体* param sql* param entry*/void saveOrUpdateObject(String sql,TTexte nds Serializableen try);* 查询实体列表* param sql* param className* param obj* return*/ List getObjList(Stri ng sql,Class className,Object objs);* 查询实体* param * param sql* para
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 德宏州农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解
- 梧州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(培优b卷)
- 崇明县农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及完整答案详解1套
- 2026年省属虚拟市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(名校卷)
- 阿拉善盟农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(夺冠)
- 云浮市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及完整答案详解
- 三门峡市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(巩固)
- 上海市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(达标题)
- 廊坊市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(完整版)
- 2026年定西市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(培优)
- 《万历十五年 精装版 》读书笔记思维导图PPT模板下载
- 【120个重点文言实词及例句翻译】
- 重庆水轮机厂业绩表
- 05G359-3 悬挂运输设备轨道(适用于一般混凝土梁)
- 学术交流英语智慧树知到答案章节测试2023年哈尔滨工程大学
- 下肢康复机器人训练对脑卒中偏瘫患者下肢运动功能的康复作用
- GB/T 27818-2011化学品皮肤吸收体外试验方法
- FZ/T 80004-2014服装成品出厂检验规则
- 外科护理创伤病人的护理
- 供水企业暂停供水审批或备案表
- 正负图形课件
评论
0/150
提交评论