spring_mvc注解实例
《spring_mvc注解实例》由会员分享,可在线阅读,更多相关《spring_mvc注解实例(22页珍藏版)》请在装配图网上搜索。
1、本文主要介绍使用注解方式配置的spring mvc,包括数据访问层的实现web.xml配置:s3h3contextConfigLocationclasspath:applicationContext*.xmlorg.springframework.web.context.ContextLoaderListenerspringorg.springframework.web.servlet.DispatcherServlet1spring*.doindex.jspspring-servlet,主要配置controller的信息applicationContext.xml代码$dataSource.
2、dialect$dataSource.hbm2ddl.autoupdatecom.mvc.entityhibernate.properties数据库连接配置dataSource.password=123dataSource.username=rootdataSource.databaseName=testdataSource.driverClassName=com.mysql.jdbc.DriverdataSource.dialect=org.hibernate.dialect.MySQL5DialectdataSource.serverName=localhost:3306dataSourc
3、e.url=jdbc:mysql:/localhost:3306/testdataSource.properties=user=$dataSource.username;databaseName=$dataSource.databaseName;serverName=$dataSource.serverName;password=$dataSource.passworddataSource.hbm2ddl.auto=update配置已经完成,下面开始例子先在数据库建表,例子用的是mysql数据库CREATETABLEtest.student(idint(10)unsignedNOTNULLAU
4、TO_INCREMENT,namevarchar(45)NOTNULL,pswvarchar(45)NOTNULL,PRIMARYKEY(id)建好表后,生成实体类packagecom.mvc.entity;importjava.io.Serializable;importjavax.persistence.Basic;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType
5、;importjavax.persistence.Id;importjavax.persistence.Table;EntityTable(name=student)publicclassStudentimplementsSerializableprivatestaticfinallongserialVersionUID=1L;IdBasic(optional=false)GeneratedValue(strategy=GenerationType.IDENTITY)Column(name=id,nullable=false)privateIntegerid;Column(name=name)
6、privateStringuser;Column(name=psw)privateStringpsw;publicIntegergetId()returnid;publicvoidsetId(Integerid)this.id=id;publicStringgetUser()returnuser;publicvoidsetUser(Stringuser)this.user=user;publicStringgetPsw()returnpsw;publicvoidsetPsw(Stringpsw)this.psw=psw;Dao层实现packagecom.mvc.dao;importjava.u
7、til.List;publicinterfaceEntityDaopublicListcreateQuery(finalStringqueryString);publicObjectsave(finalObjectmodel);publicvoidupdate(finalObjectmodel);publicvoiddelete(finalObjectmodel);packagecom.mvc.dao;importjava.util.List;importorg.hibernate.Query;importorg.springframework.orm.hibernate3.Hibernate
8、Callback;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;publicclassEntityDaoImplextendsHibernateDaoSupportimplementsEntityDaopublicListcreateQuery(finalStringqueryString)return(List)getHibernateTemplate().execute(newHibernateCallback()publicObjectdoInHibernate(org.hibernate.Ses
9、sionsession)throwsorg.hibernate.HibernateExceptionQueryquery=session.createQuery(queryString);Listrows=query.list();returnrows;);publicObjectsave(finalObjectmodel)returngetHibernateTemplate().execute(newHibernateCallback()publicObjectdoInHibernate(org.hibernate.Sessionsession)throwsorg.hibernate.Hib
10、ernateExceptionsession.save(model);returnnull;);publicvoidupdate(finalObjectmodel)getHibernateTemplate().execute(newHibernateCallback()publicObjectdoInHibernate(org.hibernate.Sessionsession)throwsorg.hibernate.HibernateExceptionsession.update(model);returnnull;);publicvoiddelete(finalObjectmodel)get
11、HibernateTemplate().execute(newHibernateCallback()publicObjectdoInHibernate(org.hibernate.Sessionsession)throwsorg.hibernate.HibernateExceptionsession.delete(model);returnnull;);Dao在applicationContext.xml注入Dao只有一个类的实现,直接供其它service层调用,如果你想更换为其它的Dao实现,也只需修改这里的配置就行了。开始写view页面,WEB-INF/view下新建页面student.j
12、sp,WEB-INF/view这路径是在spring-servlet.xml文件配置的,你可以配置成其它,也可以多个路径。student.jsp代码添加scriptlanguage=javascriptsrc=/-tableborder-collapse:collapse;tdborder:1pxsolid#f00;!-functionadd()window.location.href=/student.do?method=add;functiondel(id)$.ajax(type:POST,url:/student.do?method=del&id=+id,dataType:json,su
13、ccess:function(data)if(data.del=true)alert(删除成功!);$(#+id).remove();elsealert(删除失败!);,error:function()alert(网络连接出错!););/-序号姓名密码操作trid=inputtype=buttononclick=del()value=删除/student_add.jsp学生添加!-functionturnback()window.location.href=/student.do;/-formmethod=postaction=/student.do?method=save姓名密码contro
14、ller类实现,只需把注解写上,spring就会自动帮你找到相应的bean,相应的注解标记意义,不明白的,可以自己查下Service,Controller,Entity等等的内容。packagecom.mvc.controller;importjava.util.List;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importmons.logging.Log;importmons.logging.LogFactory;importorg.springframe
15、work.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.ui.ModelMap;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;importorg.springframework.web.bind.annotation.Request
16、Param;importorg.springframework.web.servlet.ModelAndView;importcom.mvc.entity.Student;importcom.mvc.service.StudentService;ControllerRequestMapping(/student.do)publicclassStudentControllerprotectedfinaltransientLoglog=LogFactory.getLog(StudentController.class);AutowiredprivateStudentServicestudentSe
17、rvice;publicStudentController()RequestMappingpublicStringload(ModelMapmodelMap)Listlist=studentService.getStudentList();modelMap.put(list,list);returnstudent;RequestMapping(params=method=add)publicStringadd(HttpServletRequestrequest,ModelMapmodelMap)throwsExceptionreturnstudent_add;RequestMapping(pa
18、rams=method=save)publicStringsave(HttpServletRequestrequest,ModelMapmodelMap)Stringuser=request.getParameter(user);Stringpsw=request.getParameter(psw);Studentst=newStudent();st.setUser(user);st.setPsw(psw);trystudentService.save(st);modelMap.put(addstate,添加成功);catch(Exceptione)log.error(e.getMessage
19、();modelMap.put(addstate,添加失败);returnstudent_add;RequestMapping(params=method=del)publicvoiddel(RequestParam(id)Stringid,HttpServletResponseresponse)tryStudentst=newStudent();st.setId(Integer.valueOf(id);studentService.delete(st);response.getWriter().print(del:true);catch(Exceptione)log.error(e.getM
20、essage();e.printStackTrace();service类实现packagecom.mvc.service;importjava.util.List;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importorg.springframework.transaction.annotation.Transactional;importcom.mvc.dao.EntityDao;importcom.mvc.entity
21、.Student;ServicepublicclassStudentServiceAutowiredprivateEntityDaoentityDao;TransactionalpublicListgetStudentList()StringBuffersff=newStringBuffer();sff.append(selectafrom).append(Student.class.getSimpleName().append(a);Listlist=entityDao.createQuery(sff.toString();returnlist;publicvoidsave(Studentst)entityDao.save(st);publicvoiddelete(Objectobj)entityDao.delete(obj);OK,例子写完。有其它业务内容,只需直接新建view,并实现相应comtroller和service就行了,配置和dao层的内容基本不变,也就是每次只需写jsp(view),controller和service调用dao就行了。
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。