如何学习springMVC+mybatis框架?

博客分类:
闲来无事,学了一下新的spring mvc 3.2,感觉比之前版本好用,很灵活。
顺便与mybatis整合了,
写了个学生选课demo,
主要实现点:
1. mybatis-3.2.2与spring 3.2.0整合,整合时只需要在applicationContext.xml里配mybatis一些信息,
关键代码:
applicationContext.xml
&context:property-placeholder location="classpath:jdbc.properties"/&
&bean id="dataSource" class="org.apache.ibatis.datasource.pooled.PooledDataSource" destroy-method="forceCloseAll"&
&property name="driver" value="${jdbc.driver}"/&
&property name="url" value="${jdbc.url}"/&
&property name="username" value="${jdbc.username}"/&
&property name="password" value="${jdbc.password}"/&
&bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"&
&property name="dataSource" ref="dataSource"/&
&tx:annotation-driven/&
&bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"&
&property name="dataSource" ref="dataSource"/&
&property name="typeAliasesPackage" value="com.jayung.curriculum.domain"/&
&bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"&
&property name="basePackage" value="com.jayung.curriculum.mapper"/&
用spring管理mybatis事务,无需写DAO的实现类了,代码很简洁,service层直接调用mybatis的mapper类(相当于DAO接口),增删改操作,只须在service对应的方法上加上@Transactional
@Transactional
public void save(Student student) {
studentMapper.insert(student);
2. spring mvc
全面使用注解,非常简洁,在编码时,无需在xml与java代码来回切换,一个@Controller和@RequestMapping就代替了大量的xml配置,感觉很好。
写了两个拦截器,一个拦截学生是否登录,一个拦截管理员是否登录,使用spring拦截器代替Filter来检测是否登录,基于RequestMapping拦截比Filter更有效,还可以配置例外拦截白名单。
&mvc:interceptors&
&mvc:interceptor&
&mvc:mapping path="/student/**"/&
&mvc:mapping path="/courses"/&
&bean class="com.jayung.curriculum.web.interceptor.LoginInterceptor"/&
&/mvc:interceptor&
&mvc:interceptor&
&mvc:mapping path="/console/**"/&
&bean class="com.jayung.curriculum.web.interceptor.ConsoleInterceptor"&
&property name="excludeURIs"&
&value&/console&/value&
&value&/console/login&/value&
&/property&
&/mvc:interceptor&
&/mvc:interceptors&
3. restful的url
实现类似于iteye的url ,
例如:,显示学号为1234的学生信息,,显示学号为1234的所选的课,
,编辑学号为1122学生的信息。
以前要实现这样的url,要借助于UrlRewriteFilter,现在用spring mvc可以原生实现这样的url,不过由于目前浏览器只支持post和get两种提交方式,rest全部实现还依赖rest相关包。
@RequestMapping("/student/{studentId}")
public String view(@PathVariable String studentId, Model model) {
model.addAttribute("student", studentService.view(studentId));
return "/student/view";
附件Demo包含以下内容,
spring,spring mvc,mybatis,spring登录拦截器,spring定时任务实际方式,ajax传输json格式数据等
附件已重新整理上传。供有需要的同学参考。
下载次数: 380
jayung 写道yangdachengA0413 写道楼主这个例子是很好的学习spring MVC ,在例子里没有看到onclick事件,我想请问下这个例子是怎么提交数据给后台处理的?submit就可以了啊,不是很明白你的疑问楼主对架构这块应是蛮精通的,能否留个QQ或者其它联系方式,向你学习下springMVC框架QQ:,防爬虫,请把中文四改成数字4
jayung 写道yangdachengA0413 写道楼主这个例子是很好的学习spring MVC ,在例子里没有看到onclick事件,我想请问下这个例子是怎么提交数据给后台处理的?submit就可以了啊,不是很明白你的疑问楼主对架构这块应是蛮精通的,能否留个QQ或者其它联系方式,向你学习下springMVC框架楼主,例子是怎么拦截前端的请求给后台哪些方法处理的?
yangdachengA0413 写道楼主这个例子是很好的学习spring MVC ,在例子里没有看到onclick事件,我想请问下这个例子是怎么提交数据给后台处理的?submit就可以了啊,不是很明白你的疑问楼主对架构这块应是蛮精通的,能否留个QQ或者其它联系方式,向你学习下springMVC框架
楼主这个例子是很好的学习spring MVC ,在例子里没有看到onclick事件,我想请问下这个例子是怎么提交数据给后台处理的?submit就可以了啊,不是很明白你的疑问
你提供的连接页面都显示空白那个localhost地址是需要本地部署的
浏览: 26719 次
来自: 深圳
ontext.support.XmlWebApplicatio ...
lcwen_13 写道只是取了其中一部分映射没发现啊,那全部的 ...
只是取了其中一部分映射
想法还是不错的。当然IDE也已经提供了。IntelliJ id ...
好的,请多多指教,以后多向楼主学习!
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'mybatis和spring mvc框架如何学习? - 知乎65被浏览8860分享邀请回答74 条评论分享收藏感谢收起1添加评论分享收藏感谢收起查看更多回答购买商品:
商品价格:
价格读取中
支付方式:
请扫码进行支付
请扫码进行支付
适合人群计算机相关专业学生已参加学习140
Mybatis框架
第一章:Spring 入门
第二章:Spring IOC 设置注入
第三章:Spring IOC 构造注入
高校教师 / 培训机构讲师
主要研究方向为J2EE、.net 、数据库 、前端、Android,曾经服务过大型上市国企IT部门,软件企业联合创始人,对软件研发管理、市场营销有自己独特思想体系!
领取优惠券
正在努力加载中~~SpringMVC+Mybatis由浅入深全套视频教程
- 爱酷学习网,免费高清视频教程在线观看
Begin to Learn
Descritpion
强调下越来越多的企业开始选择SpringMVC+Mybatis来构建系统架构,在电商热门的今天,SpringMVC+Mybatis已成为电商项目架构的最佳搭配。SpringMVC和Struts2都属于表现层的框架,SpringMVC是Spring框架的一部分,较于Struts2框架使用的更加广泛;Mybatis和Hibernate都属于持久层的框架,Mybatis是对JDBC操作数据库的的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等JDBC繁杂的过程代码。本视频首先由浅入深的讲解了SpringMVC与Mybatis的原理,然后分别结合实际案例教你如何使用这两个框架,最后将SpringMVC、Mybatis以及Spring框架进行整合完成实际项目的某些具体功能。视频内容丰富,讲解清晰易懂,对源码的剖析让你对框架的理解不仅知其然更知其所以然。
相关资料及源代码:
Update Completed
请输入正确的邮件(格式:xxx@xxx.xx)
必须填本条信息!感觉spring mvc +mybatis开发好复杂呀? - ITeye问答
习惯了rails,node.js等开发,回过头来学习spring mvc ,配置起来,要吐血了。
原来是想搞政府项目,看大多用java开发,才着手学习的。
现在准备开发时,犹豫了。
web项目用java的还多吗?web开发,使用java有啥优势,有没有对比和各位的经验来说说?
同时还在看rails和nodejs,前者成熟,但要熟悉好多习惯用法,nodejs方便,代码看起来眼累。
框架这类只要用习惯了就好了,基本上没什么复杂度,只有熟练度,对开发人员来说只是工具.不过我最近发现Spring Data 要比mybatis简单不少,能大大提高开发效率,如果你不喜欢用mybatis可以使用Spring Data,那个操作什么的都比较简单,而且功能齐全.今天也跟经理说过把mybatis换成Spring Data的看法,不过经理说mybatis的开发成本比较低,至于低在哪儿我就不懂了
框架的使用就像工具,只是看你用的熟悉程度。没必要纠结!
如果不是有专人负责数据查询语句的编写,
不建议使用mybatis……
个人感觉没有简单与复杂的区别,只有熟悉与生疏的区别
不觉得。熟练之后就好了。
spring的mvc很爽,结合注解配置也没多少,和mybatis整合之后,编写好各层的基类,代码量就少了很多了,只要编写JavaBean和SQL就行了,SQL也可以用mybatis的工具生成。
对于大牛来说,不论什么技术都是工具 ...
我来给你个靠谱的答案,绝大部分语言写web路数都是一样的,一个路由进来寻找对应的方法,方法里调一下数据库,得到数据返回给相应的view,这一点无论是ror,还是express,还是springmvc都是一样。你之所以觉得java写起来麻烦,是因为现在不管大小项目都搞三层,写接口写实现,看起来好像很庞大一样,其实你都去掉了,和node.js一样,甚至不会多一点点东西。
当你用最朴实的代码写好一个web系统,然后你发现大量的重复相似代码,然后你希望去重构,复用,你希望把业务和页面控制分在两个module,你希望把业务逻辑和底层数据库原子操作分开,你希望把sql语句和代码分离,你希望不要将过滤器方法放在app.get/post堆里。总之,以极致,优雅的心态去将任何两个不同性质的软件单元解耦,分离。做着做着,你会发现你得到了另一个springmvc+mybatis,struts2,hibernate等等。
这,其实也是j2ee的发展历程。所以现在看来那些动态语言似乎似乎好轻便啊~
PS一下,js操作hash是在太爽了,甚至可以不需要定义实体类,不像java的map操作这么麻烦,一定要定义实体类才方便传递参数。
和PHP,ROR之类的语言相比Java开发网站确实是很笨重。其实,如果开发的网站功能不是非常复杂,性能要求不是很BT的话不一定要用Java来开发。至于复杂,性能要求达到什么样才需要换,请参考Twitter引入Scala的文章,此外,iteye目前貌似还是再用ROR。简单的说,在几乎所有的情况下请选择你熟悉的语言去完成项目,而不是“好”的语言。
至于Java的优势,官方说的那些什么跨平台优势,性能优势都已经是陈词滥调,我就不多说了。
1.强大的社区支持,成熟的开源项目不计其数,大到搜索引擎,分布式存储,小到缓存工具,开发工具几乎所有的一切都有成熟的产品和完整参考文档。
2.人员费用,在国内Java码农是最好招的,相对价格也会便宜不少(高手依然很贵)
3.技术支持,Java使用范围实在太广,踩到坑以后的google一下解决方案大把大把,你可能一辈子都遇不到别人没遇到过的麻烦。
SpringMVC+Spring+MyBatis是经典的开发组合,对初学者来说,配置过程确实痛苦,可能需要一整天的时间,不过配置完成后的开发还算是比较简单。祝你好运了。
用熟练后
Spring mvc+mybatis 相当高效
赞一个
已解决问题
未解决问题

我要回帖

 

随机推荐