1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

时间:2023-05-23 14:29:28

相关推荐

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

登录|注册收藏成功 确定 收藏失败,请重新收藏 确定 查看所有私信查看所有通知 暂没有新通知 想要绕过微信小程序开发中的坑吗?不妨来听这个,今晚8点,1小时帮你搞定! 14小时以前 CSDN日报0411 ——《如何给自己的私活项目标价》 04-11 程序员,你离大牛之间只差这一份规划! 04-11 针对使用微信小程序打造一个LBS应用中涉及的技术细节以及可能踩到的坑制定的《小程序中的LBS》直播课于4月14日晚8点直播,快报名听听看 04-10 全新定义VIP,不止于资源---价格不变,福利不断 04-10 今晚直播:实战python机器学习与数据分析! 04-10 基于真实数据集,全程代码实战,使用python库快速处理分析,实战机器学习经典算法,只需要看这个! 04-10 CSDN日报0409 ——《扯蛋的密码规则》 04-09 CSDN日报0407 ——《嘿,程序猿,你该学点经济学了!》 04-08 CSDN日报0408 ——《一个屌丝程序猿的人生(连载小说)》 04-08 CSDN日报0406 ——《代码很烂,所以离职。》 04-06 经常感到迷惘,不知道怎么保持成长?担心程序员是吃青春饭的,为自己的年龄感到担忧?不知道怎么为转行做准备?来听课吧。 04-06 【程序员3月书讯】这些好书,你值得拥有 04-06 CSDN日报0405 ——《未来的世界没有程序员》 04-05 人工智能会不会取代开发它的人? 04-05 人工智能会不会取代开发它的人? 04-05 CSDN日报0404 ——《不仅仅是写代码,而是完成作品》 04-04 教你如何谈薪资,你的工资在开始投简历前就决定了 04-04 CSDN日报0403 ——《该不该离职?它说了算!》 04-03 还在为找工作发愁吗?还在为怎么提升自己工作上的技术而愁吗?来这能找到你的答案! 04-01 CSDN日报0331 ——《一个屌丝程序猿的人生》 03-31 CSDN日报0330 ——《我们错过了那么多机会,怎么办》 03-30 hadoop+hbase+flume+zookeeper实现电信级海量通话日志数据的存储,随机访问与实时读写,要学会这些,只需这个! 03-30 【关注】计算机视觉在研究什么,相关知识点汇总 03-30 CSDN日报0329 ——《“全栈”工程师 请不要随意去做》 03-29 机器学习还不够?那好,那我们就来个机器学习与数据分析实战在线直播课程,零基础也可入门,只需6课时,就能让你的技术快速增长,来吧,加入我们! 03-29 CSDN日报0328——《你看那个人他像一条狗》 03-28 直播撸代码:小程序与 React Native如何 共享代码? 03-28 【图谱发布】最火的人工智能,到底在关注什么 03-28 CSDN日报0327——《写在阿里游戏的最后几天》 03-27 为了让你更快地在网上看喵,工程师们真是非常努力呢 03-27 CSDN日报0324——《程序员们,再不行动就来不及了!》 03-24 CSDN日报0323——《你首先是一个人,然后你才是程序员》 03-23 【深度学习能量场】不容错过,深度学习精华都在这了 03-23 CSDN日报0322——《关于软件研发的一些体会总结》 03-22 直播:《互联网应用架构解析与实战》,一线架构师来袭! 03-22 CSDN日报0321——《给大学生的几条良心建议》 03-21 作为程序员的你,会选择奋斗在一线城市还是回归故乡发展? 03-21 【马上直播】互联网应用架构实战!看微博美团架构师如何解析 03-21 CSDN日报0320——《Java 程序员的面试经历和题库》 03-20 要学Python吗?还在愁Python怎么学吗?来吧!这里有大神带你,这些都不是事儿! 03-20 乘风破浪,技术发展需要你的支持 03-20 CSDN日报0318——《一个程序员的五年工作总结》 03-18 CSDN日报0317——《转行穷三年?未必!》 03-17 CSDN日报0316——《每个程序员都需要的中文排版指南》 03-16 【送福利啦】饿了么资深工程师为我们倾情直播,尽在明晚8点,今天报名可领取5元优惠券哦! 03-16 当你手里拿的不是键盘……而是方向盘? 03-16 CSDN日报0315——《 年初,阿里、腾讯、百度、华为、京东、搜狗和滴滴面试题汇集》 03-15 CSDN日报0314——《40岁程序员真的要被淘汰了么?》 03-14 CSDN日报0313——《测定程序员的代码基因》 03-13 CSDN日报0312——《成功人士的七个习惯》 03-13 CSDN日报0311——《程序员每天累成狗,是为了什么》 03-11 即将直播:Python机器学习经典案例实战! 03-10 CSDN日报0309——《程序员,杂草和大树,你选哪个》 03-09 喊你的好基友搬家到CSDN啦~ 03-09 CSDN日报0308——《技术人如何脱颖而出?》 03-08 JSpatch被苹果封杀,RN会不会就此终结,无缘Apple? 03-08 CSDN日报0307——《浮华背后与我的路》 03-07 CSDN日报0306——《程序员转行为什么这么难》 03-06 CSDN日报0305——《谈谈学习方法》 03-05 CSDN日报0304——《令人比较失落的IT圈子-关于华为裁员》 03-05 CSDN日报0302——《一个想法:成立草根技术联盟对开发人员进行技术定级解决企业员工招聘难问题!》 03-02 即将直播:微信小程序的开发原理!你掌握了吗? 03-02 CSDN日报0301——《一次dns缓存引发的惨案》 03-01 大公司的高薪 OR 创业公司的期权,你更看重哪个? 02-28 CSDN日报0228——《技术晋升的评定与博弈》 02-28 CSDN日报0227——《什么样的离开会让老板念念不忘》 02-27 作为开发者,你都听产品经理的,做的累不累? 02-23 CSDN日报0222——《未来最重要的三个能力》 02-22 CSDN日报0221——《离开了公司,你还有什么》 02-21 【资源优选】TOP30热门安卓源码 02-21 CSDN日报0220——《从安卓调整到服务端后的思考》 02-20 【吐血整理】Github精选 02-20 百度高级工程师分享:企业如何防范WebShell 攻击! 02-20 CSDN日报0219——《程序员的沟通之痛》 02-20 CSDN日报0217——《辞职信:写给我的“藤野先生”》 02-17 技术星系,等你探秘哦,少年 02-17 下载VIP免费拿,技术图书任意选! 02-16 【即将直播】程序员,好简历应该这么写! 02-14 情人节这天,优秀的开发者在做什么? 02-14 谷歌小程序(Android Instant Apps)和微信小程序,你更看好哪个? 02-08 直播倒计时:python web 老司机教你这么学! 02-07 【技术直播】跨平台开发与业务实践,从 React Native 说起! 01-23 CSDN年度干货合集,快来带走属于你的那份! 01-22 【征集干货】发现好内容,CSDN定制好礼,等着你 01-09 阿里云和腾讯云,最终谁会成为中国的AWS? 01-06 CSDN系列直播:《零基础搞定微信小程序》技术人9问! 01-05 正在直播:《算法与游戏技术的实战》算法的进阶之路! 12-28 【预测与盘点】你跟上技术趋势了么? 12-26 系列直播:《数据分析与挖掘经典案例实战》! 12-19 大龄程序员的发展方向是做管理还是继续写程序? 12-14 据说,这是一个具有超能力的神图(A)谱(I)! 12-02 CSDN独家直播:《微信小程序!技术人该如何搞定?》 12-02 《微信小程序开发大案例》,每周直播,CSDN独家出品! 11-25 CSDN独家直播:《大数据架构师之实战电商项目》大咖 &干货! 11-23 限时获取:CSDN“剁手”清单! 11-10 在你眼中,Android APP与iOS APP哪个更安全? 11-10 C币:主人,让我去抽奖!! 11-08 小编疯了,竟然说PHP是世界上最好的语言 11-03 【系列直播】Python大型网络爬虫项目开发实战 11-03 晒图谱,享荣誉,就这么简单 11-03 亲,你的技术全家桶到了 10-28 1024 程序员节,祝你节日快乐~ 10-24 你的个人图谱上线了,快来领取 09-19 【CSDN攒课】--让你拥有一堂干货满满的技术公开课! 09-07 软件开发的头等舱,进阶必备 08-23 程序员七夕表白礼品指南 08-09 【收藏】七大技能图谱——前端攻城狮必备 07-14 【收藏】绚丽 HTML5 精品资源推荐 07-07 【VR知识库】发布,虚拟现实一探究竟 05-03 CODE升级啦--私仓无限,空间扩容,布局更加简洁! 04-25 CODE升级啦--私仓无限,空间扩容,布局更加简洁! 04-25 【案例分析】利用 jQuery 自定义的动画与特效 -04-07 初创公司如何进行网站架构设计? 这些必不可少 -04-01 更流畅,更美观,JavaScript 神奇图谱 -03-17 最全的 Hadoop 资源,来啦! -03-11 更轻松的Python学习,看完这个就够了 -03-08 MySQL学习由浅入深 -02-26 【福利】一张大图看懂 Android 架构 -02-19 CSDN学院周年礼,必须“折”服你 -01-07 【CSDN学院公开课】12月3日(今晚)CSDN博客专家分享“数据可视化与 D3.js”,速速报名! -12-03 高手作答,Java多线程设计模式篇 -12-01 【技术公开课】“oracle 11g dataguard深入探讨”今晚正式开课!速报名~ -10-29 IT企业面试的神兵利器 -10-26 软考论文如何一次通过?表桑心!3大论文考前辅导班+论文批改服务为您的软考保驾护航! -10-21 CSDN”攒课”第二期:Spark基础与编程模型10月27日正式开课! -10-20 【软考冲刺】3大论文考前辅导班开课倒计时,就差你啦!轻松搞定论文,冲击月薪10000+! -10-19 Android群英传,Android江湖的武林秘籍 -10-14 【在线直播】软考高级下午二——论文还没过?NO 气馁!10月13日攻克要塞助您秒杀软考! -10-08 乔俊峰软考公开课明天19:30正式开课啦!加入QQ群:363243463即可免费试听该课程! -09-28 帮你揭开运营的秘密! -09-25 帮你揭开运营的秘密! -09-25 【在线直播】你的IT路迷茫吗?今晚19:30-21:30,烟台大学计算机教师贺利坚为您答疑解惑! -09-23 【在线直播】今晚19:30-21:30,极客标签美女讲师HTML5干货分享会!快来~ -09-17 “程序员节”活动火热进行中 玩游戏 赢大礼 -09-14 程序员节特惠,周末嗨翻天! -09-11 CSDN论坛招募版主啦!!快来各就各位 -09-07 从零开始写Java Web框架 -09-07 社区问答第21期:SAP等ERP管理、实施问题? -09-01 别闷头写代码了!与技术大牛探讨iOS开发,启发心智,事半功倍! -08-28 软考套餐巨优惠来袭,限时特价+软考资料大礼包+免费直播答疑(限时) -08-18 今晚你约了吗?【免费技术公开课】Qt移动端应用开发简介8月6日晚19:30即将开课! -08-06 从今天起,做一个有C币的人,写文章、传资源、答疑解惑 -08-05 极客头条征文活动,奖励不含糊! -08-04 问答8月活动 大波C币等着你!!! -08-04 【技术+】【 社区趴】 【看大咖】【收礼啦】 -07-28 从零练就iOS高手实战班开课啦!波神教你轻松学会ios、稳步提升实战能力! -07-28 【免费技术公开课】“测试神器QuickTest参数的应用”即将开课,速速报名! -07-27 【免费技术公开课】“测试神器QuickTest参数的应用”即将开课,速速报名! -07-27 集齐C币,召唤神龙! -07-20 【听课赢礼品】第二期从零练就ios高手公开课马上开课啦!详情请点击这里 -07-17 3D游戏引擎大型实战课四折秒杀!原价5499元,现仅需1999元!手慢无~ -07-17 老板炒股失败,员工跳楼价卖课!原价4999元,现仅需999元!抢到就是赚到! -07-16 3D游戏引擎实战吧开课啦~免费试听!速来 -07-06 从零练就iOS高手实战班开课啦!免费试听~速来 -07-01 CSDN iPhone客户端 下载就有50C币 -06-23 CSDN iPhone客户端 正式发布 -06-19 库存告急!C币商城特价最后一天,手慢无! -06-19 截至10:00,已有1550人获得50C币奖励,你还在等什么? -06-12 疯了!下载CSDN Android客户端 就送50C币 -06-11 CSDN Android客户端 下载就送50C币 -06-10 C币商城大放价,精品图书超值换!手慢无! -06-09 学最流行的语言,做高逼格的程序员 -06-04 CSDN Android客户端 正式发布 -06-02 问答频道送C币 1000个C币等着你! -05-19 Spark+Scala学习套餐超值低价,直减100元,开抢吧! -05-11 【开抢】Spark+Scala套餐直减100元! -05-05 【写博文得大奖】感受CSDN-Markdown带来的编辑新体验,你来不来? -04-30 软考干货大集合! -04-28 问答频道“天天爱答题” 第三周获奖名单已公布! -04-21 天天答题赢C币 问答活动进行中~~ -04-15 ”天天爱答题“第二波C币已放送 你还在等什么? -04-13 大波问题等你秒杀 大波礼品等你带走! -04-10 【每日一课】软考系统集成项目管理工程师视频教程精讲 -04-10 【每日一课】移动手机APP测试从零开始(初级+进阶) -04-09 天天爱答题 问答频道送大礼! -04-09 天天爱答题 一大波C币向你袭来! -04-08 【每日一课】软考系列教程--让你软考轻松通关 -04-07 【每日一课】Unity3D移动端实战经验分享 -04-03 天天爱答题 问答这厢”有礼“咯! -04-02 【每日一课】C/C++系列教程 -04-02 【每日一课】Apple Watch开发入门 -04-01 【每日一课】HTML 5视频教程系列之JavaScript学习篇 -03-31 【每日一课】计算机操作系统 -03-25 【每日一课】【直通华为HCNA/HCNP系列1】Sx7系列交换机主要特性及选型 -03-23 【每日一课】基于Unity的游戏开发 -03-16 基于Unity的游戏开发(上) -03-13 【每日一课】C语言及程序设计提高 -03-12 【每日一课】零基础学Python开发系列教程 -03-11 【每日一课】零基础学HTML 5实战开发(第一季) -03-10 【每日一课】微信公众平台深度开发(Java版) -03-09 【每日一课】3D游戏开发基础 -03-06 【每日一课】从零开始掌握iOS8开发技术(Swift版)第2季 -03-05 【每日一课】火星人敏捷开发1001问 -03-04 【每日一课】【深入理解计算机网络】专家解读计算机网络原理视频课程(上) -02-05 【每日一课】Windows Server 组策略管理 -02-04 【每日一课】经典JDBC+MyBatis学习视频 -02-02 月薪40K,20家名企送你工作和机票,赶快参与吧! -01-30 【每日一课】微信公众平台开发入门 -01-30 【每日一课】从此不求人:自主研发一套PHP前端开发框架 -01-28 【每日一课】HTML 5项目实战:我要地图项目 -01-27返回通知列表 下一条 上一条 今晚八点直播,不见不散~ 暂没有新通知 查看其它 0 条 CSDN日报0411 ——《如何给自己的私活项目标价》 暂没有新通知 查看其它 0 条 程序员,你离大牛之间只差这一份规划! 暂没有新通知 查看其它 0 条 点击我报名! 暂没有新通知 查看其它 0 条 点击查看VIP新增特权介绍 暂没有新通知 查看其它 0 条 今晚直播:实战python机器学习与数据分析!倒计时报名!速来! 暂没有新通知 查看其它 0 条 6课时,专属技术答疑,尽在《Python数据分析与机器学习实战》系列直播,今晚8点开始直播!还在等什么! 暂没有新通知 查看其它 0 条 CSDN日报0409 ——《扯蛋的密码规则》 暂没有新通知 查看其它 0 条 CSDN日报0407 ——《嘿,程序猿,你该学点经济学了!》 暂没有新通知 查看其它 0 条 CSDN日报0408 ——《一个屌丝程序猿的人生(连载小说)》 暂没有新通知 查看其它 0 条 CSDN日报0406 ——《代码很烂,所以离职。》 暂没有新通知 查看其它 0 条 4月11日起开始直播,教你如何在技术上精进,如何转管理! 暂没有新通知 查看其它 0 条 为你认为好的书写推荐理由或推荐语,便有机会拥有Ta~ 暂没有新通知 查看其它 0 条 CSDN日报0405 ——《未来的世界没有程序员》 暂没有新通知 查看其它 0 条 【观点】人工智能会不会取代开发它的人? 暂没有新通知 查看其它 0 条 [ur=/pk.html?id=7425]【观点】人工智能会不会取代开发它的人?[/url] 暂没有新通知 查看其它 0 条 CSDN日报0404 ——《不仅仅是写代码,而是完成作品》 暂没有新通知 查看其它 0 条 【福利社】薪资秘籍即将直播,快来占座 暂没有新通知 查看其它 0 条 CSDN日报0403 ——《该不该离职?它说了算!》 暂没有新通知 查看其它 0 条 4月11日晚上8点起,每周一节,连续三周,安晓辉帮你支招~ 暂没有新通知 查看其它 0 条 CSDN日报0331 ——《一个屌丝程序猿的人生》 暂没有新通知 查看其它 0 条 CSDN日报0330 ——《我们错过了那么多机会,怎么办》 暂没有新通知 查看其它 0 条 《大数据技术企业应用实战》直播课,4课时实战教学,4月12日起每周三直播,课程详情猛戳我 暂没有新通知 查看其它 0 条 查看【计算机视觉】知识体系 暂没有新通知 查看其它 0 条 CSDN日报0329 ——《“全栈”工程师 请不要随意去做》 暂没有新通知 查看其它 0 条 点击我查看详情 暂没有新通知 查看其它 0 条 CSDN日报0328——《你看那个人他像一条狗》 暂没有新通知 查看其它 0 条 直播撸代码:小程序与 React Native如何 共享代码?点我立即观看! 暂没有新通知 查看其它 0 条 关注,并查看知识图谱 暂没有新通知 查看其它 0 条 CSDN日报0327——《写在阿里游戏的最后几天》 暂没有新通知 查看其它 0 条 为了让你更快地在网上看喵,工程师们真是非常努力呢 暂没有新通知 查看其它 0 条 CSDN日报0324——《程序员们,再不行动就来不及了!》 暂没有新通知 查看其它 0 条 CSDN日报0323——《你首先是一个人,然后你才是程序员》 暂没有新通知 查看其它 0 条 星球探索,等你一起 暂没有新通知 查看其它 0 条 CSDN日报0322——《关于软件研发的一些体会总结》 暂没有新通知 查看其它 0 条 线上峰会直播:《互联网应用架构解析与实战》,一线架构师来袭!快来查看! 暂没有新通知 查看其它 0 条 CSDN日报0321——《给大学生的几条良心建议》 暂没有新通知 查看其它 0 条 作为程序员的你,会选择奋斗在一线城市还是回归故乡发展? 暂没有新通知 查看其它 0 条 CSDN出品,策划应用架构峰会。本次峰会集结业界前沿领域的架构专家,业界巨匠,触手可及,本周六9点开始直播,还在等什么,约呀! 暂没有新通知 查看其它 0 条 CSDN日报0320——《Java 程序员的面试经历和题库》 暂没有新通知 查看其它 0 条 12课时,全程理论与实战相结合,专属VIP答疑交流群,绝对干货,尽在系列直播课《Python机器学习经典案例实战》!本周四晚8点开始直播,抓紧约起来哦! 暂没有新通知 查看其它 0 条 点击投票,支持新技术 暂没有新通知 查看其它 0 条 CSDN日报0318——《一个程序员的五年工作总结》 暂没有新通知 查看其它 0 条 CSDN日报0317——《转行穷三年?未必!》 暂没有新通知 查看其它 0 条 CSDN日报0316——《每个程序员都需要的中文排版指南》 暂没有新通知 查看其它 0 条 点击查看详情,课程原价9.9元,使用优惠券后只要4.9元!优惠券在报名页可以领取哦,名额有限,先到先得,抓紧啦! 暂没有新通知 查看其它 0 条 当你手里拿的不是键盘……而是方向盘? 暂没有新通知 查看其它 0 条 CSDN日报0315——《 年初,阿里、腾讯、百度、华为、京东、搜狗和滴滴面试题汇集》 暂没有新通知 查看其它 0 条 CSDN日报0314——《40岁程序员真的要被淘汰了么?》 暂没有新通知 查看其它 0 条 CSDN日报0313——《测定程序员的代码基因》 暂没有新通知 查看其它 0 条 CSDN日报0312——《成功人士的七个习惯》 暂没有新通知 查看其它 0 条 CSDN日报0311——《程序员每天累成狗,是为了什么》 暂没有新通知 查看其它 0 条 即将直播:Python机器学习经典案例实战!老司机带你搞定算法与机器学习!快来查看! 暂没有新通知 查看其它 0 条 CSDN日报0309——《程序员,杂草和大树,你选哪个》 暂没有新通知 查看其它 0 条 博客一键搬家活动开始啦 暂没有新通知 查看其它 0 条 CSDN日报0308——《技术人如何脱颖而出?》 暂没有新通知 查看其它 0 条 JSpatch被苹果封杀,RN会不会就此终结,无缘Apple? 暂没有新通知 查看其它 0 条 CSDN日报0307——《浮华背后与我的路》 暂没有新通知 查看其它 0 条 CSDN日报0306——《程序员转行为什么这么难》 暂没有新通知 查看其它 0 条 CSDN日报0305——《谈谈学习方法》 暂没有新通知 查看其它 0 条 CSDN日报0304——《令人比较失落的IT圈子-关于华为裁员》 暂没有新通知 查看其它 0 条 CSDN日报0302——《一个想法:成立草根技术联盟对开发人员进行技术定级解决企业员工招聘难问题!》 暂没有新通知 查看其它 0 条 即将直播:微信小程序的开发原理!你掌握了吗?快来报名查看! 暂没有新通知 查看其它 0 条 CSDN日报0301——《一次dns缓存引发的惨案》 暂没有新通知 查看其它 0 条 【观点】大公司的高薪 OR 创业公司的期权,你更看重哪个? 暂没有新通知 查看其它 0 条 CSDN日报0228——《技术晋升的评定与博弈》 暂没有新通知 查看其它 0 条 CSDN日报0227——《什么样的离开会让老板念念不忘》 暂没有新通知 查看其它 0 条 CSDN日报0223——《作为开发者,你都听产品经理的,做的累不累?》 暂没有新通知 查看其它 0 条 CSDN日报0222——《未来最重要的三个能力》 暂没有新通知 查看其它 0 条 CSDN日报0221——《离开了公司,你还有什么》 暂没有新通知 查看其它 0 条 小主,您好,CSDN下载特精选近年来最热门的30份安卓源码,为您献上,希望您会喜欢!O(∩_∩)O~ 感兴趣就去看看吧>> 暂没有新通知 查看其它 0 条 CSDN日报0220——《从安卓调整到服务端后的思考》 暂没有新通知 查看其它 0 条 Github上的awesome-java更新至411条 暂没有新通知 查看其它 0 条 百度高级工程师分享:企业如何防范WebShell 攻击!,今晚直播,速戳报名! 暂没有新通知 查看其它 0 条 CSDN日报0219——《程序员的沟通之痛》 暂没有新通知 查看其它 0 条 CSDN日报0217——《辞职信:写给我的“藤野先生”》 暂没有新通知 查看其它 0 条 【人工智能星系计划】热门技术搜索,共建智能星系 暂没有新通知 查看其它 0 条 新的一年工作日已经启程,作为程序员的资源汇聚中心,CSDN下载频道将与你一同面对新一年的一切挑战。新的一年我们提供一个送VIP的机会,从此不再有积分困扰,你要吗?我来看看 暂没有新通知 查看其它 0 条 程序员,好简历应该这么写!老司机教你搞定hr!正在直播! 暂没有新通知 查看其它 0 条 看看GP同学和他刚更新的图谱计划 暂没有新通知 查看其它 0 条 谷歌小程序(Android Instant Apps)和微信小程序,你更看好哪个?发表你的观点,有机会获得奖励喔~ 暂没有新通知 查看其它 0 条 直播倒计时了:老司机教你这么学python web ! 暂没有新通知 查看其它 0 条 【技术直播】跨平台开发与业务实践,从 React Native 说起!干货十足,报名速戳 暂没有新通知 查看其它 0 条 CSDN年度干货合集,快来带走属于你的那份! 暂没有新通知 查看其它 0 条 【我要提交】已有736人提交到对应知识库,下一个是你? 暂没有新通知 查看其它 0 条 阿里云和腾讯云,最终谁会成为中国的AWS?不以时间较短长,用户体验最重要,谁会成为最好用的公有云平台? 暂没有新通知 查看其它 0 条 从产品定位到实战代码,从无到有上线一个小程序!绕开技术那些坑儿!报名倒计速戳! 暂没有新通知 查看其它 0 条 算法是支撑项目开发的灵魂,听算法老司机分享如何从进阶算法!干货十足,在线互动!报名速戳 暂没有新通知 查看其它 0 条 知识库技术年度大赏,点我开启 暂没有新通知 查看其它 0 条 当我们在聊数据挖掘的时候,我们该掌握和学习哪些技术?每周直播,报名速戳! 暂没有新通知 查看其它 0 条 大龄程序员的发展方向是做管理还是继续写程序,你怎么看? 暂没有新通知 查看其它 0 条 点我,获取超能力 暂没有新通知 查看其它 0 条 从头到尾教您开发一个小程序!避开那些技术坑儿!马上直播,即刻报名! 暂没有新通知 查看其它 0 条 《微信小程序开发大案例》,每周直播,CSDN独家出品! 暂没有新通知 查看其它 0 条 CSDN独家直播:《大数据架构师之实战电商项目》大咖 &干货! 暂没有新通知 查看其它 0 条 限时获取:CSDN“剁手”清单! 暂没有新通知 查看其它 0 条 【观点】第五期:Android APP与iOS APP哪个更安全? 暂没有新通知 查看其它 0 条 【100%中奖啦】C币唤醒大礼包,好礼送不停 暂没有新通知 查看其它 0 条 PHP是世界上最好的语言么,点此亮出你的观点 暂没有新通知 查看其它 0 条 每周1小时,大咖带你搞定大型Python爬虫项目 暂没有新通知 查看其它 0 条 现在上传图谱,还可获得缤纷好礼呦 暂没有新通知 查看其它 0 条 50个领域知识库一键直达,前往GET 暂没有新通知 查看其它 0 条 【1024 程序员节】向改变世界的你致敬,祝你节日快乐~参加活动,领取你的专属礼品~ 暂没有新通知 查看其它 0 条 点我开启个人图谱 暂没有新通知 查看其它 0 条 来攒课,想听什么内容,你说了算,再也不用为选课发愁了!点击这里火速提交你最想听的技术课题吧! 暂没有新通知 查看其它 0 条 【敏捷知识库】发布,进阶必备 暂没有新通知 查看其它 0 条 戳我查看程序员七夕表白指南 暂没有新通知 查看其它 0 条 必备技能图谱,点击打开 暂没有新通知 查看其它 0 条 【推荐】HTML5 知识库发布 暂没有新通知 查看其它 0 条 点我了解VR虚拟现实,沉浸感觉的技术 暂没有新通知 查看其它 0 条 体验CODE新版,福利多多,点击此处抢先领取! 暂没有新通知 查看其它 0 条 体验CODE新版,福利多多,点击此处抢先领取! 暂没有新通知 查看其它 0 条 点击查看 jQuery 案例和图谱资源 暂没有新通知 查看其它 0 条 点击查看网站架构完整图谱 暂没有新通知 查看其它 0 条 点我查看 JavaScript 精华内容 暂没有新通知 查看其它 0 条 点击查看Hadoop结构大图和精华资源 暂没有新通知 查看其它 0 条 点击查看Python知识图谱 暂没有新通知 查看其它 0 条 查看MySQL完整知识结构图 暂没有新通知 查看其它 0 条 快速查看完整图谱 暂没有新通知 查看其它 0 条 精挑细选,顶尖课程钜惠呈现,回馈用户,不遗余力!仅需动动手指,就可以领取属于你的充电神器+幸运礼包!点击领取 暂没有新通知 查看其它 0 条 【CSDN学院公开课】12月3日(今晚)CSDN博客专家分享“数据可视化与 D3.js”,速速报名! 暂没有新通知 查看其它 0 条 高手作答,Java多线程设计模式篇 暂没有新通知 查看其它 0 条 【技术公开课】“oracle 11g dataguard深入探讨”今晚正式开课!速报名~ 暂没有新通知 查看其它 0 条 IT企业面试的神兵利器 暂没有新通知 查看其它 0 条 软考论文如何一次通过?表桑心!3大论文考前辅导班+论文批改服务为您的软考保驾护航! 暂没有新通知 查看其它 0 条 CSDN”攒课”第二期:Spark基础与编程模型10月27日正式开课! 暂没有新通知 查看其它 0 条 【软考冲刺】3大论文考前辅导班开课倒计时,就差你啦!轻松搞定论文,冲击月薪10000+! 暂没有新通知 查看其它 0 条 Android群英传,Android江湖的武林秘籍 暂没有新通知 查看其它 0 条 【在线直播】软考高级下午二——论文还没过?NO 气馁!10月13日攻克要塞助您秒杀软考! 暂没有新通知 查看其它 0 条 乔俊峰软考公开课明天19:30正式开课啦!加入QQ群:363243463即可免费试听该课程! 暂没有新通知 查看其它 0 条 帮你揭开运营的秘密! 暂没有新通知 查看其它 0 条 帮你揭开运营的秘密! 暂没有新通知 查看其它 0 条 【在线直播】你的IT路迷茫吗?今晚19:30-21:30,烟台大学计算机教师贺利坚为您答疑解惑! 暂没有新通知 查看其它 0 条 【在线直播】今晚19:30-21:30,极客标签美女讲师HTML5干货分享会正式开播!快来~ 暂没有新通知 查看其它 0 条 砸BUG 赢大礼 iPhone、Apple Watch等着你!!! 暂没有新通知 查看其它 0 条 C币商城超值换礼,手慢无! 暂没有新通知 查看其它 0 条 CSDN论坛招募版主啦!!快来各就各位 暂没有新通知 查看其它 0 条 从零开始写Java Web框架 暂没有新通知 查看其它 0 条 社区问答第21期:SAP等ERP管理、实施问题? 暂没有新通知 查看其它 0 条 iOS前沿与Swift开发分享会,点我前排抢座>>>>>>>> 暂没有新通知 查看其它 0 条 软考套餐巨优惠来袭,限时特价+软考资料大礼包+免费直播答疑(限时) 暂没有新通知 查看其它 0 条 今晚你约了吗?【免费技术公开课】Qt移动端应用开发简介8月6日晚19:30即将开课! 暂没有新通知 查看其它 0 条 明天,你就兑换好多好多的礼品。点我兑换>>> 暂没有新通知 查看其它 0 条 “人人都是主编”,用博文写出你对极客头条的认识,CSDN纪念T恤和技术书籍等你领! 暂没有新通知 查看其它 0 条 问答8月活动 大波C币等着你!!! 暂没有新通知 查看其它 0 条 【程序人生,不止一面】社区技术分享会,邀请你啦! 暂没有新通知 查看其它 0 条 从零练就iOS高手实战班开课啦!波神教你轻松学会ios、稳步提升实战能力! 暂没有新通知 查看其它 0 条 【免费技术公开课】“测试神器QuickTest参数的应用”即将开课,速速报名! 暂没有新通知 查看其它 0 条 【免费技术公开课】“测试神器QuickTest参数的应用”即将开课,速速报名! 暂没有新通知 查看其它 0 条 【C币商城】一大波神物袭来 暂没有新通知 查看其它 0 条 【听课赢礼品】第二期从零练就ios高手公开课马上开课啦!详情请点击这里 暂没有新通知 查看其它 0 条 3D游戏引擎大型实战课四折秒杀!原价5499元,现仅需1999元!手慢无~ 暂没有新通知 查看其它 0 条 老板炒股失败,员工跳楼价卖课!原价4999元,现仅需999元!抢到就是赚到! 暂没有新通知 查看其它 0 条 3D游戏引擎实战吧开课啦~免费试听!速来 暂没有新通知 查看其它 0 条 从零练就iOS高手实战班开课啦!免费试听~速来 暂没有新通知 查看其它 0 条 速来!CSDN iPhone客户端发布 下载就有50C币 暂没有新通知 查看其它 0 条 CSDN iPhone客户端 首次登录就有50C币 暂没有新通知 查看其它 0 条 《Android超级用户工具箱》库存告急,快抢! 暂没有新通知 查看其它 0 条 下载CSDN Android客户端 就送50C币!!! 暂没有新通知 查看其它 0 条 疯了!下载CSDN Android客户端 就送50C币 暂没有新通知 查看其它 0 条 CSDN Android客户端 下载就送50C币 暂没有新通知 查看其它 0 条 你的福利!你的C币! 暂没有新通知 查看其它 0 条 学最流行的语言,做高逼格的程序员 暂没有新通知 查看其它 0 条 CSDN Android客户端 正式发布 快来体验吧 暂没有新通知 查看其它 0 条 问答频道送C币 1000个C币等着你! 暂没有新通知 查看其它 0 条 Spark+Scala学习套餐超值低价,直减100元,开抢吧! 暂没有新通知 查看其它 0 条 【开抢】Spark+Scala套餐直减100元! 暂没有新通知 查看其它 0 条 已有200位小伙伴提交了博文,现在等你啦 暂没有新通知 查看其它 0 条 软考干货大集合!碉堡了~ 暂没有新通知 查看其它 0 条 问答频道“天天爱答题” 第三周获奖名单已公布! 暂没有新通知 查看其它 0 条 天天答题赢C币 问答活动进行中~~ 暂没有新通知 查看其它 0 条 活动还有两波,全新一周开始,想来的速度啦! 暂没有新通知 查看其它 0 条 大波问题等你秒杀 大波礼品等你带走! 暂没有新通知 查看其它 0 条 【每日一课】软考系统集成项目管理工程师视频教程精讲 暂没有新通知 查看其它 0 条 【每日一课】移动手机APP测试从零开始(初级+进阶) 暂没有新通知 查看其它 0 条 天天爱答题 问答频道送大礼! 暂没有新通知 查看其它 0 条 天天爱答题 一大波C币向你袭来! 暂没有新通知 查看其它 0 条 【每日一课】软考系列教程--让你软考轻松通关 暂没有新通知 查看其它 0 条 【每日一课】Unity3D移动端实战经验分享 暂没有新通知 查看其它 0 条 每天答一题 100C币就归你 提问也有奖励哦! 暂没有新通知 查看其它 0 条 【每日一课】C/C++系列教程 暂没有新通知 查看其它 0 条 【每日一课】Apple Watch开发入门 暂没有新通知 查看其它 0 条 【每日一课】HTML 5视频教程系列之JavaScript学习篇 暂没有新通知 查看其它 0 条 【每日一课】计算机操作系统 暂没有新通知 查看其它 0 条 【每日一课】【直通华为HCNA/HCNP系列1】Sx7系列交换机主要特性及选型 暂没有新通知 查看其它 0 条 【每日一课】基于Unity的游戏开发 暂没有新通知 查看其它 0 条 【每日一课】基于Unity的游戏开发(上) 暂没有新通知 查看其它 0 条 【每日一课】C语言及程序设计提高 暂没有新通知 查看其它 0 条 【每日一课】零基础学Python开发系列教程 暂没有新通知 查看其它 0 条 【每日一课】零基础学HTML 5实战开发(第一季) 暂没有新通知 查看其它 0 条 【每日一课】微信公众平台深度开发(Java版) 暂没有新通知 查看其它 0 条 【每日一课】3D游戏开发基础 暂没有新通知 查看其它 0 条 【每日一课】从零开始掌握iOS8开发技术(Swift版)第2季 暂没有新通知 查看其它 0 条 【每日一课】火星人敏捷开发1001问 暂没有新通知 查看其它 0 条 【每日一课】【深入理解计算机网络】专家解读计算机网络原理视频课程(上) 暂没有新通知 查看其它 0 条 【每日一课】Windows Server 组策略管理 暂没有新通知 查看其它 0 条 【每日一课】经典JDBC+MyBatis学习视频 暂没有新通知 查看其它 0 条 月薪40K,20家名企送你工作和机票,赶快参与吧! 暂没有新通知 查看其它 0 条 【每日一课】微信公众平台开发入门 暂没有新通知 查看其它 0 条 【每日一课】从此不求人:自主研发一套PHP前端开发框架 暂没有新通知 查看其它 0 条 【每日一课】HTML 5项目实战:我要地图项目 暂没有新通知 查看其它 0 条 分享资讯传PPT/文档提问题写博客传资源创建项目创建代码片 m0_37416586编辑自我介绍,让更多人了解你 帐号设置退出

社区
博客 论坛 下载 知识库 技术问答 极客头条 英雄会
服务
JOB 学院 CODE 活动 CSTO C币兑换
俱乐部
CTO俱乐部 高校俱乐部

AndyLizh的专栏

给人生一个梦,给梦一条路,给路一个方向!

目录视图 摘要视图 订阅【公告】关于开启用户注册及登录手机短信验证的通知CSDN日报0412 ——《程序员该如何定位?看这四大方向》博客搬家,有礼相送

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

-03-19 11:44 655512人阅读 评论(408) 收藏 举报 本文章已收录于:分类:作者同类文章X

目录(?)[+]

基本概念 1Spring2SpringMVC3MyBatis 开发环境搭建Maven Web项目创建SSM整合 1Maven引入需要的JAR包2Spring与MyBatis的整合 21建立JDBC属性文件22建立spring-mybatisxml配置文件23Log4j的配置24JUnit测试 4241创建测试用表4242利用MyBatis Generator自动创建代码4243建立Service接口和实现类4244建立测试类 3整合SpringMVC 31配置spring-mvcxml32配置webxml文件33测试 4331新建jsp页面4332建立UserController类4333部署项目

使用SSM(spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。这次,先说说三大框架整合过程。个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。不过,如果用都不会,谈思想就变成纸上谈兵了!!!先技术,再思想。实践出真知。(可通过图片水印查看博客地址)

1、基本概念

1.1、Spring

Spring是一个开源框架,Spring是于兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

1.2、SpringMVC

SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

1.3、MyBatis

MyBatis本是apache的一个开源项目iBatis,这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。MyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQLMaps和DataAccessObjects(DAO)MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。

2、开发环境搭建

如果需要,参看之前的博文:/zhshulin/article/details/30779873

3、Maven Web项目创建

如果需要,参看之前的博文:/zhshulin/article/details/37921705

4、SSM整合

下面主要介绍三大框架的整合,至于环境的搭建以及项目的创建,参看上面的博文。这次整合我分了2个配置文件,分别是spring-mybatis.xml,包含spring和mybatis的配置文件,还有个是spring-mvc的配置文件,此外有2个资源文件:jdbc.propertis和log4j.properties。完整目录结构如下(最后附上源码下载地址,不建议直接使用源码,因为此教程已经有了全部代码):

使用框架都是较新的版本:

Spring4.0.2RELEASE

SpringMVC4.0.2RELEASE

MyBatis3.2.6

4.1、Maven引入需要的JAR包

为了方便后面说的时候不需要引入JAR包,我这里直接给出所有需要的JAR包,这都是基本的JAR包,每个包的是干什么的都有注释,就不再多说了。

pom.xml

[html]view plaincopyprint? <properties> <!--spring版本号--> <spring.version>4.0.2.RELEASE</spring.version> <!--mybatis版本号--> <mybatis.version>3.2.6</mybatis.version> <!--log4j日志文件管理包版本--> <slf4j.version>1.7.7</slf4j.version> <log4j.version>1.2.17</log4j.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <!--表示开发的时候引入,发布的时候不会加载此包--> <scope>test</scope> </dependency> <!--spring核心包--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!--mybatis核心包--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!--mybatis/spring包--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <!--导入javaeejar包--> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> </dependency> <!--导入Mysql数据库链接jar包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.30</version> </dependency> <!--导入dbcp的jar包,用来在applicationContext.xml中配置数据库--> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.2.2</version> </dependency> <!--JSTL标签类--> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!--日志文件管理包--> <!--logstart--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <!--格式化对象,方便输出日志--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.41</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <!--logend--> <!--映入JSON--> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency> <!--上传组件包--> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency> </dependencies>

4.2、Spring与MyBatis的整合

所有需要的JAR包都引入以后,首先进行Spring与MyBatis的整合,然后再进行JUnit测试,先看一个项目结构图:

4.2.1、建立JDBC属性文件

jdbc.properties(文件编码修改为utf-8)

[html]view plaincopyprint? driver=com.mysql.jdbc.Driver url=jdbc:mysql://10.221.10.111:8080/db_zsl username=demao password=demao #定义初始连接数 initialSize=0 #定义最大连接数 maxActive=20 #定义最大空闲 maxIdle=20 #定义最小空闲 minIdle=1 #定义最长等待时间 maxWait=60000

4.2.2、建立spring-mybatis.xml配置文件

这个文件就是用来完成spring和mybatis的整合的。这里面也没多少行配置,主要的就是自动扫描,自动注入,配置数据库。注释也很详细,大家看看就明白了。

spring-mybatis.xml

[html]view plaincopyprint? <?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p" xmlns:context="/schema/context" xmlns:mvc="/schema/mvc" xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-3.1.xsd /schema/context /schema/context/spring-context-3.1.xsd /schema/mvc /schema/mvc/spring-mvc-4.0.xsd"> <!--自动扫描--> <context:component-scanbase-package=".hnust"/> <!--引入配置文件--> <beanid="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <propertyname="location"value="classpath:jdbc.properties"/> </bean> <beanid="dataSource"class="mons.dbcp.BasicDataSource" destroy-method="close"> <propertyname="driverClassName"value="${driver}"/> <propertyname="url"value="${url}"/> <propertyname="username"value="${username}"/> <propertyname="password"value="${password}"/> <!--初始化连接大小--> <propertyname="initialSize"value="${initialSize}"></property> <!--连接池最大数量--> <propertyname="maxActive"value="${maxActive}"></property> <!--连接池最大空闲--> <propertyname="maxIdle"value="${maxIdle}"></property> <!--连接池最小空闲--> <propertyname="minIdle"value="${minIdle}"></property> <!--获取连接最大等待时间--> <propertyname="maxWait"value="${maxWait}"></property> </bean> <!--spring和MyBatis完美整合,不需要mybatis的配置映射文件--> <beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"> <propertyname="dataSource"ref="dataSource"/> <!--自动扫描mapping.xml文件--> <propertyname="mapperLocations"value="classpath:com/cn/hnust/mapping/*.xml"></property> </bean> <!--DAO接口所在包名,Spring会自动查找其下的类--> <beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer"> <propertyname="basePackage"value=".hnust.dao"/> <propertyname="sqlSessionFactoryBeanName"value="sqlSessionFactory"></property> </bean> <!--(事务管理)transactionmanager,useJtaTransactionManagerforglobaltx--> <beanid="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <propertyname="dataSource"ref="dataSource"/> </bean> </beans>

4.2.3、Log4j的配置

为了方便调试,一般都会使用日志来输出信息,Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。

Log4j的配置很简单,而且也是通用的,下面给出一个基本的配置,换到其他项目中也无需做多大的调整,如果想做调整或者想了解Log4j的各种配置,参看我转载的一篇博文,很详细:

/zhshulin/article/details/37937365

下面给出配置文件目录:

log4j.properties

[html]view plaincopyprint? #定义LOG输出级别 log4j.rootLogger=INFO,Console,File #定义日志输出目的地为控制台 log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target=System.out #可以灵活地指定日志输出格式,下面一行是指定具体的格式 log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=[%c]-%m%n #文件大小到达指定尺寸的时候产生一个新的文件 log4j.appender.File=org.apache.log4j.RollingFileAppender #指定输出目录 log4j.appender.File.File=logs/ssm.log #定义文件最大大小 log4j.appender.File.MaxFileSize=10MB #输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志 log4j.appender.File.Threshold=ALL log4j.appender.File.layout=org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern=[%p][%d{yyyy-MM-ddHH\:mm\:ss}][%c]%m%n

4.2.4、JUnit测试

经过以上步骤(到4.2.2,log4j不配也没影响),我们已经完成了Spring和mybatis的整合,这样我们就可以编写一段测试代码来试试是否成功了。

4.2.4.1、创建测试用表

既然我们需要测试,那么我们就需要建立在数据库中建立一个测试表,这个表建的很简单,SQL语句为:

[sql]view plaincopyprint? DROPTABLEIFEXISTS`user_t`; CREATETABLE`user_t`( `id`int(11)NOTNULLAUTO_INCREMENT, `user_name`varchar(40)NOTNULL, `password`varchar(255)NOTNULL, `age`int(4)NOTNULL, PRIMARYKEY(`id`) )ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8; /*Dataforthetable`user_t`*/ insertinto`user_t`(`id`,`user_name`,`password`,`age`)values(1,'测试','sfasgfaf',24);

4.2.4.2、利用MyBatis Generator自动创建代码

参考博文:/zhshulin/article/details/23912615

这个可根据表自动创建实体类、MyBatis映射文件以及DAO接口,当然,我习惯将生成的接口名改为IUserDao,而不是直接用它生成的UserMapper。如果不想麻烦就可以不改。完成后将文件复制到工程中。如图:

4.2.4.3、建立Service接口和实现类

目录结构:

下面给出具体的内容:

IUserService.jave

[java]view plaincopyprint? .hnust.service; .hnust.pojo.User; publicinterfaceIUserService{ publicUsergetUserById(intuserId); }

UserServiceImpl.java[java]view plaincopyprint? .hnust.service.impl; importjavax.annotation.Resource; importorg.springframework.stereotype.Service; .hnust.dao.IUserDao; .hnust.pojo.User; .hnust.service.IUserService; @Service("userService") publicclassUserServiceImplimplementsIUserService{ @Resource privateIUserDaouserDao; @Override publicUsergetUserById(intuserId){ //TODOAuto-generatedmethodstub returnthis.userDao.selectByPrimaryKey(userId); } }

4.2.4.4、建立测试类

测试类在src/test/java中建立,下面测试类中注释掉的部分是不使用Spring时,一般情况下的一种测试方法;如果使用了Spring那么就可以使用注解的方式来引入配置文件和类,然后再将service接口对象注入,就可以进行测试了。

如果测试成功,表示Spring和Mybatis已经整合成功了。输出信息使用的是Log4j打印到控制台。

[java]view plaincopyprint? packageorg.zsl.testmybatis; importjavax.annotation.Resource; importorg.apache.log4j.Logger; importorg.junit.Before; importorg.junit.Test; importorg.junit.runner.RunWith; importorg.springframework.context.ApplicationContext; importorg.springframework.context.support.ClassPathXmlApplicationContext; importorg.springframework.test.context.ContextConfiguration; importorg.springframework.test.context.junit4.SpringJUnit4ClassRunner; importcom.alibaba.fastjson.JSON; .hnust.pojo.User; .hnust.service.IUserService; @RunWith(SpringJUnit4ClassRunner.class)//表示继承了SpringJUnit4ClassRunner类 @ContextConfiguration(locations={"classpath:spring-mybatis.xml"}) publicclassTestMyBatis{ privatestaticLoggerlogger=Logger.getLogger(TestMyBatis.class); //privateApplicationContextac=null; @Resource privateIUserServiceuserService=null; //@Before //publicvoidbefore(){//ac=newClassPathXmlApplicationContext("applicationContext.xml"); //userService=(IUserService)ac.getBean("userService"); //} @Test publicvoidtest1(){ Useruser=userService.getUserById(1); //System.out.println(user.getUserName()); //logger.info("值:"+user.getUserName()); logger.info(JSON.toJSONString(user)); } }

测试结果:

至此,完成Spring和mybatis这两大框架的整合,下面在继续进行SpringMVC的整合。

4.3、整合SpringMVC

上面已经完成了2大框架的整合,SpringMVC的配置文件单独放,然后在web.xml中配置整合。

4.3.1、配置spring-mvc.xml

配置里面的注释也很详细,在此就不说了,主要是自动扫描控制器,视图模式,注解的启动这三个。

[html]view plaincopyprint? <?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p" xmlns:context="/schema/context" xmlns:mvc="/schema/mvc" xsi:schemaLocation="/schema/beans /schema/beans/spring-beans-3.1.xsd /schema/context /schema/context/spring-context-3.1.xsd /schema/mvc /schema/mvc/spring-mvc-4.0.xsd"> <!--自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器--> <context:component-scanbase-package=".hnust.controller"/> <!--避免IE执行AJAX时,返回JSON出现下载文件--> <beanid="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <propertyname="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> <!--启动SpringMVC的注解功能,完成请求和注解POJO的映射--> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <propertyname="messageConverters"> <list> <refbean="mappingJacksonHttpMessageConverter"/><!--JSON转换器--> </list> </property> </bean> <!--定义跳转的文件的前后缀,视图模式配置--> <beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个可用的url地址--> <propertyname="prefix"value="/WEB-INF/jsp/"/> <propertyname="suffix"value=".jsp"/> </bean> <!--配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包--> <beanid="multipartResolver" class="org.springframework.monsMultipartResolver"> <!--默认编码--> <propertyname="defaultEncoding"value="utf-8"/> <!--文件大小最大值--> <propertyname="maxUploadSize"value="10485760000"/> <!--内存中的最大值--> <propertyname="maxInMemorySize"value="40960"/> </bean> </beans>

4.3.2、配置web.xml文件

这里面对spring-mybatis.xml的引入以及配置的spring-mvc的Servlet就是为了完成SSM整合,之前2框架整合不需要在此处进行任何配置。配置一样有详细注释,不多解释了。

web.xml

[html]view plaincopyprint? <?xmlversion="1.0"encoding="UTF-8"?> <web-appxmlns:xsi="/2001/XMLSchema-instance" xmlns="/xml/ns/javaee" xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>ArchetypeCreatedWebApplication</display-name> <!--Spring和mybatis的配置文件--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mybatis.xml</param-value> </context-param> <!--编码过滤器--> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--Spring监听器--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!--防止Spring内存溢出监听器--> <listener> <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener> <!--SpringMVCservlet--> <servlet> <servlet-name>SpringMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> <async-supported>true</async-supported> </servlet> <servlet-mapping> <servlet-name>SpringMVC</servlet-name> <!--此处可以可以配置成*.do,对应struts的后缀习惯--> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> </web-app>

4.3.3、测试

至此已经完成了SSM三大框架的整合了,接下来测试一下,如果成功了,那么恭喜你,如果失败了,继续调试吧,作为程序员就是不停的与BUG做斗争!

4.3.3.1、新建jsp页面

showUser.jsp 此页面仅输出一下用户名,完成一个完整的简单流程。

[html]view plaincopyprint? <%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <html> <head> <title>测试</title> </head> <body> ${user.userName} </body> </html>

4.3.3.2、建立UserController类

UserController.java控制器

[java]view plaincopyprint? .hnust.controller; importjavax.annotation.Resource; importjavax.servlet.http.HttpServletRequest; importorg.springframework.stereotype.Controller; importorg.springframework.ui.Model; importorg.springframework.web.bind.annotation.RequestMapping; .hnust.pojo.User; .hnust.service.IUserService; @Controller @RequestMapping("/user") publicclassUserController{ @Resource privateIUserServiceuserService; @RequestMapping("/showUser") publicStringtoIndex(HttpServletRequestrequest,Modelmodel){ intuserId=Integer.parseInt(request.getParameter("id")); Useruser=this.userService.getUserById(userId); model.addAttribute("user",user); return"showUser"; } }

4.3.3.3、部署项目

输入地址:localhost:8080/项目名称/user/showUser?id=1

至此,SSM三大框架的整合就完成了,在此基础上可再添加其他功能。

源码下载地址:/detail/u012909091/7658611

(转载注明出处:/zhshulin)

顶 307 踩 18上一篇maven打包 含src下的xml文件 下一篇微信公众平台java开发详解(工程代码+解析)

我的同类文章

•来说说SpringMVC + JSONP的跨域请求-11-16•web工程中web.xml元素加载顺序以及配置实例-07-08•springMVC的ajax请求-06-23•《Spring实战》学习笔记-第八章:使用Spring Web Flow-06-21•《Spring实战》学习笔记-第六章:web视图解析-06-21•《Spring实战》学习笔记-第四章:面向切面的Spring-06-21•myeclipse+maven实现多模块项目struts+spring+mybatis-07-08•【转】SpringMVC注解说明-06-23•SpringMVC框架-06-23•《Spring实战》学习笔记-第七章:Spring MVC进阶-06-21•《Spring实战》学习笔记-第五章:构建Spring web应用-06-21更多文章

参考知识库

MySQL知识库

.NET知识库

软件测试知识库

Java SE知识库

Java EE知识库

Java 知识库

更多资料请参考: 猜你在找 SpringMVC+spring+Mybatis+Maven框架搭建基于Maven+Springmvc+Spring+Mybatis+jQueryMobile驴友社区SpringMVC Spring MyBatis整合springmvc深入浅出(备java基础,javaee高级课程,struts同类)SpringMVC框架大咖详解 SSM框架详细整合教程Spring+SpringMVC+MyBatisSSM框架详细整合教程Spring+SpringMVC+MyBatis不错的一片文章SSM框架详细整合教程Spring+SpringMVC+MyBatisSSM框架详细整合教程Spring+SpringMVC+MyBatisSSM框架详细整合教程Spring+SpringMVC+MyBatis关闭查看评论 262楼 wq6617 前天 14:36发表 [回复] [引用] [举报]哥,你太nb了,我这个搞了半天,找你说的做终于解决了 261楼 w8396 3天前 17:47发表 [回复] [引用] [举报]spring-mvc.xml中这个类错了,包里根本没有这个类:

org.springframework.http.converter.json.MappingJacksonHttpMessageConverter

正确的应该是MappingJackson2HttpMessageConverter 260楼 robbb 3天前 16:37发表 [回复] [引用] [举报]收缴了,O(∩_∩)O~ 259楼 qq_27175847 -04-06 17:16发表 [回复] [引用] [举报]jdbc.properties

一定要看每行后面是否有空格,这个很坑人!!! 258楼 qq_33350115 -04-01 15:20发表 [回复] [引用] [举报]写的很好,很详细,楼主用心了啊,虽然我隔了两年才看到。哈哈 257楼 云y -03-30 09:47发表 [回复] [引用] [举报]测试成功 谢谢了 256楼 筱壞 -03-27 17:38发表 [回复] [引用] [举报]好详细啊,不过为什么我按照步骤配置好了之后,在pom.xml文件上添加信息之后,jar包下载速度是无比的慢啊,一天都没有下载好,一晚上之后好不容易下载好了,pom.xml文件还有错,真的是心累啊,解决了好久都没解决,求指导,或者是如何让jar包下载的快点,求大大神们指导 255楼 gyk1994 -03-25 11:01发表 [回复] [引用] [举报]已解决,大家定要注意jdbc.properties中的参数后面一定不要有空格 254楼 Yatta -03-25 09:18发表 [回复] [引用] [举报]我是javaee的初学者,但是相对于hibernate而言,我总觉得还是mybatis比较难以理解。请楼主指点一下 253楼 gyk1994 -03-24 22:06发表 [回复] [引用] [举报]楼主,我在第一步TestMybatis的时候就一直报jdbc连接错误

网上找了很多方法都试了,一致解决不了

Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!

### The error may exist in file [E:\ytxy\graduationproject\meiping\target\classes\com\meiping\mapper\UserMapper.xml]

### The error may involve com.meiping.dao.IUserDao.selectByPrimaryKey

### The error occurred while executing a query

### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database!

有遇到相同问题的朋友吗或者有没有什么解决思路啊 252楼 yinjiangzhu1345 -03-24 21:40发表 [回复] [引用] [举报]代码不完全,解析一点也不透彻 251楼 qq_36220844 -03-24 11:19发表 [回复] [引用] [举报]好人一生平安 250楼 KAIXINLUOYE -03-16 17:00发表 [回复] [引用] [举报]感谢分享 249楼 jj89757hhb -03-16 11:48发表 [回复] [引用] [举报]用的什么数据库 Re: qq_37989104 -03-20 19:03发表 [回复] [引用] [举报]回复jj89757hhb:Mysql

在maven的pom.xml配置文件代码90行提到了,在JDBC属性文件中也可以看到 248楼 qq_21700963 -03-16 11:16发表 [回复] [引用] [举报]学习了 247楼 linzhuozhang -03-13 15:48发表 [回复] [引用] [举报]在写jdbc.properties的时候注意空格呀,多么痛的领悟啊!找了好久 Re: android_xxx -03-14 16:14发表 [回复] [引用] [举报]回复lzz_:666 246楼 gpj331204181 -03-11 19:13发表 [回复] [引用] [举报]java框架生成,www点javacoder点top,希望各位coder受益 245楼 u011121376 -03-08 08:59发表 [回复] [引用] [举报]请教一下!spring和mybatis整合之后的单元测试没有输出数据库查询结果!也没有报错,是哪里出错了么? Re: u011121376 -03-08 10:23发表 [回复] [引用] [举报]回复u011121376:配置文件多了一个空格,--! Re: u010358639 -03-11 11:34发表 [回复] [引用] [举报]回复u011121376:多少行啊 244楼 xyd03 -03-07 23:36发表 [回复] [引用] [举报]请问一下各位大神,我测试spring mybatis,为什么会报--- maven-compiler-plugin:3.1:compile (default-compile) @ ssmstudy ---

[INFO] Changes detected - recompiling the module!

[INFO] Compiling 5 source files to E:\JAVA\workspace\ssmstudy\target\classes

[INFO] -------------------------------------------------------------

[ERROR] COMPILATION ERROR :

[INFO] -------------------------------------------------------------

[ERROR] /E:/JAVA/workspace/ssmstudy/src/main/java/com/cn/hnust/service/impl/UserServiceImpl.java:[7,2] 找不到符号

符号: 类 Service

[ERROR] /E:/JAVA/workspace/ssmstudy/src/main/java/com/cn/hnust/controller/UserController.java:[3,2] 找不到符号

符号: 类 Controller

[ERROR] /E:/JAVA/workspace/ssmstudy/src/main/java/com/cn/hnust/controller/UserController.java:[4,2] 找不到符号

符号: 类 RequestMapping 243楼 qiuyu_1234 -03-03 11:08发表 [回复] [引用] [举报]<async-supported>true</async-supported>这个报错 242楼 qq_36781353 -03-01 20:02发表 [回复] [引用] [举报]241楼 u010817365 -03-01 11:20发表 [回复] [引用] [举报]白色的字,蛋疼... 240楼 gpj331204181 -02-28 19:42发表 [回复] [引用] [举报]java框架在线生成,www点javacoder点top,希望各位coder受益 239楼 雪吖头 -02-26 09:58发表 [回复] [引用] [举报]非常详细!正在学习中。 238楼 zhang_xinsin -02-25 10:24发表 [回复] [引用] [举报]谢谢楼主,断断续续弄了几天,终于把环境搭建起来了,测试通过。

总结:

1、环境搭建期间项目名称、包名都是写自己命名的,然后又拷贝楼主的一些配置文件,就需要去认真改配置文件里的包名。

2、maven这个东西不错,但下载JAR包很慢,需要去配置国内阿里云的下载镜像,这样下载就很快。

3、mybatis-generator-core-1.3.2 这个自动生成实例等东西还可以,但很奇怪我电脑上这个generatorConfig.xml,添加中文注释不行,会报错。

对于初学者一步步下来,配置东西是挺多的,慢慢来吧 Re: 筱壞 -03-27 17:47发表 [回复] [引用] [举报]回复zhang_xinsin:为什么我的下载的超级慢,我也是改了镜像的,但还是一如既往的慢,你是改了哪里?求指导 237楼 zhang_xinsin -02-25 10:23发表 [回复] [引用] [举报] 236楼 JIAYAFEI521 -02-24 12:53发表 [回复] [引用] [举报]666 235楼 qq_35011824 -02-16 15:20发表 [回复] [引用] [举报]今天写完了,也是报的这个错误 234楼 qq_35872529 -02-16 12:26发表 [回复] [引用] [举报]楼主大神,给你赞,作为菜鸟级的我,想请教你问题,可以加你qq吗,或者+Q1296574737 233楼 csdn522518900 -02-14 18:14发表 [回复] [引用] [举报]我的一直报这个错:

严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener

java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener。

这个怎么解决,jar包都有 232楼 Aiky -02-09 18:11发表 [回复] [引用] [举报]感觉易懂,先马克一下啊:SSM框架——详细整合教程(Spring+SpringMVC+MyBatis) 231楼 A-aZ-z -02-08 13:46发表 [回复] [引用] [举报]讲的很详细,谢谢楼主 230楼 yuehui1023 -02-07 17:46发表 [回复] [引用] [举报]谢谢大神分享。 229楼 不能浪费时间啊_少年 -01-23 12:39发表 [回复] [引用] [举报]新手遇到的问题说一下后面的遇到可以试试:

1.jdbc数据池的url要改,所有空格要都删掉(报jdbc的错)

2.spring-mybatis.xml的所有路径都要改(报spring-mybatis配置的错)

3.mybatis生成的代码路径看一下,mapper的namespace要改成dao接口的路径(报mapper或者dao的错)

springmvc还没整合,后面遇到问题再发 228楼 qq_35858044 -01-17 17:02发表 [回复] [引用] [举报]楼主那事物好像不能回滚呀 227楼 sinat_37303788 -01-10 15:52发表 [回复] [引用] [举报]你好,我看了之后,有些java文件不在文章中,所以求一份源文件,便于学习,能发一份到771696594@吗 万分感谢 226楼 蔬果达 -01-06 15:14发表 [回复] [引用] [举报]请问下,DAO接口 有什么作用? 225楼 蔬果达 -01-06 15:06发表 [回复] [引用] [举报]service能否自动生成? 224楼 _blank_ -01-06 11:10发表 [回复] [引用] [举报]原帖地址

/zhshulin/article/details/37956105/

楼主转载不说明 不厚道. 223楼 is0290hs -12-26 12:56发表 [回复] [引用] [举报]代码下载下来错误 222楼 Justy_pc -12-22 09:37发表 [回复] [引用] [举报]求助啊 idea集成的时候 spring mybatis 单元测试报错Failed to load ApplicationContext iuserdao注入失败 Re: botak_233 -12-22 11:06发表 [回复] [引用] [举报]回复Justy_pc:试试在pom.xml的build标签下加

<resources>

<resource>

<directory>src/main/java</directory>

<includes>

<include>**/*.xml</include>

</includes>

</resource>

<resource>

<directory>src/main/resources</directory>

</resource>

</resources> 221楼 botak_233 -12-21 14:53发表 [回复] [引用] [举报]想练手过来的 花了几天大概搭了下环境 遇到些问题总结一下 在junit阶段报了classnotfound的错 需要先跑一边maven test生成class文件 jdbc连接失败只需删除jdbc.properties里的空格 invalid bound statement (not found) mybatis绑定错误 需要在pom.xml的build标签中加上<resources>

<resource>

<directory>src/main/java</directory>

<includes>

<include>**/*.xml</include>

</includes>

</resource>

<resource>

<directory>src/main/resources</directory>

</resource>

</resources>

现在用tomcat跑的时候index页面可以出来但是/项目名/user/showUser?id=1报404 仍在解决中 Re: qq_26746361 -01-12 16:27发表 [回复] [引用] [举报]回复dsz506150627:哥们 这个问题解决了么? 求交流qq:348887035 220楼 try_continue -12-18 15:32发表 [回复] [引用] [举报]楼主很厉害,做了几个月就能总结的这么好,很佩服。 219楼 pl540970147 -12-15 11:28发表 [回复] [引用] [举报]按照楼主的步骤,一步一步做的。虽然遇到很多坑,但是在搜索引擎的帮助下都解决了。非常感谢楼主!写的很详细,也简单易懂!非常感谢! 218楼 xieyika -12-12 11:12发表 [回复] [引用] [举报]自己试一下看看。 217楼 kenlz999 -12-12 10:25发表 [回复] [引用] [举报]很不错。。。。。。。。。。 216楼 qq_31432315 -12-11 14:48发表 [回复] [引用] [举报]dddd 215楼 qq_31432315 -12-11 14:48发表 [回复] [引用] [举报]rr 214楼 薛定谔的coder -12-10 15:20发表 [回复] [引用] [举报]关注楼主,好好学习 213楼 GUANGHUI_Z -12-09 14:49发表 [回复] [引用] [举报]

放与src同处一个文件夹中。 212楼 jpfss -12-06 22:59发表 [回复] [引用] [举报]“spring-mybatis.xml”文件中报错“Could not resolve placeholder 'driver' in string value "${driver}”检查了好久,不知道哪里错了,jdbc文件后面空格也去掉了,谁帮忙解答一下,感激不尽 Re: langligelang123 -12-27 23:21发表 [回复] [引用] [举报]回复jpfss:我也是 211楼 hz_hero -12-06 18:34发表 [回复] [引用] [举报]我没有用maven,试着整了一下,第一步TestMyBatis就失败,userService一直不能注入,Spring 版本4.2.8,4.3.2,4.3.4都试了,还是不行,好郁闷啊,谁能帮帮忙 210楼 qq_36111749 -12-03 00:18发表 [回复] [引用] [举报]lz我有一个问题,就是springMVC怎么接收两个类型一样的对象。 209楼 zlr1004 -12-01 17:24发表 [回复] [引用] [举报]service注入一直不成功 谁能帮帮我 有红包 Re: jpfss -12-06 08:53发表 [回复] [引用] [举报]回复zlr1004:我的情况也是只有service注解不被识别,更新一下spring版本信息到4.3.2我的就这样解决了 Re: hz_hero -12-07 16:53发表 [回复] [引用] [举报]回复jpfss:今天完全照着上面弄了一遍,最初是Controller注册不上,就在spring-mybatis.xml的<context:component-scan里加了<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>,结果Controller通过了,userService注入不成功;我按要求更换了4.3.2版本,结果userService成功注入了,又报userDao注入不了(Error creating bean with name 'IUserDao'),它又没实现类,这下我真蒙圈了 Re: pl540970147 -12-15 11:01发表 [回复] [引用] [举报]回复hz_hero:我之前报dao注入不了,是因为包名和spring-mybatis.xml里的‘org.mybatis.spring.mapper.MapperScannerConfigurer’配置的dao包名不一致。

dao注解‘@Repository’。 Re: qixiaoshen -01-15 16:19发表 [回复] [引用] [举报]回复pl540970147:项目注解controller service dao 都报错,对比源码后发现MapperScannerConfigurer 中配置basePackage的value值没写全,把包名写全,项目就起来了 Re: qixiaoshen -01-15 16:17发表 [回复] [引用] [举报]回复pl540970147:项目注解controller service dao 都报错,对比源码后发现MapperScannerConfigurer 中配置basePackage的value值没写全,把包名写全,项目就起来了 Re: 夜无痕星 -04-01 10:44发表 [回复] [引用] [举报]回复qixiaoshen:为什么我的写全之后也不行?依然是什么都注入不了。

<property name="basePackage" value=".hnust.dao" />208楼 qq_32448469 -11-29 10:30发表 [回复] [引用] [举报]感谢楼主 207楼 liaoyue11 -11-28 11:41发表 [回复] [引用] [举报]写的非常好,搭建成功! 206楼 qq_33241248 -11-28 00:29发表 [回复] [引用] [举报]文档很详细 花了几个小时写了一个demo 但是有个小问题卡了好久 一直报没有合适的driver 多番折腾才搞对 url应该是:jdbc:mysql://localhost:3306/{table_name} anyway 谢谢楼主 205楼 VoidAccelerator -11-26 19:16发表 [回复] [引用] [举报]太难了 一直有错误 改不了 204楼 huiweinian9162 -11-25 11:48发表 [回复] [引用] [举报]spring与mybatis整合后用Junit测试总是报如下这个错,请问有谁遇到过类似情况吗,搞了好久都没搞明白,泪奔了。。

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.jdy.dao.UserMapper.selectByPrimaryKey Re: 岁月0_0静好 -02-23 18:17发表 [回复] [引用] [举报]回复huiweinian9162:我也是这样的,发现已经创建了代理类,xml中也没有问题,还用User user=session.selectOne(".store.dao.IUserDao.UserMapper.selectByPrimaryKey",1);也可以获得user对象,说明数据库sql这边也没有问题了。就是不知道代理类中sqlsession哪里调用出了问题。 203楼 middleendt -11-25 10:48发表 [回复] [引用] [举报]兄弟。你这个在web端的日志写不进日志文件。只能在application里面的日志才能写进去 202楼 middleendt -11-25 10:46发表 [回复] [引用] [举报]兄弟,你这个工程web里面的日志写不进日志文件里? 201楼 llddyy123wq -11-25 07:05发表 [回复] [引用] [举报]讲得非常细,楼主辛苦了 200楼 超人与西瓜 -11-24 14:03发表 [回复] [引用] [举报]问一下各位,使用mybatis切换表名是怎么做到的 Re: llddyy123wq -11-25 07:07发表 [回复] [引用] [举报]回复u010909533:sql语句中表名随便写,和数据库里一致就行。不需要和mapper名字一样。 199楼 旅途onMyWay -11-22 11:26发表 [回复] [引用] [举报]很不错的新手教学,一步一步的跟着来,遇到问题再百度,找错,最后解决错误,感觉受益匪浅!!感谢楼主的分享。 198楼 c84170212 -11-21 14:21发表 [回复] [引用] [举报]404搞了半天,test可以,可能web包名,先解决方法

右键点击你的项目,然后选择properities---->然后点击myeclipse-->web选项,修改web context-root名称为你要修改的项目名称,楼主的博客真的很不错,学习了! Re: 小李广 -11-24 09:53发表 [回复] [引用] [举报]回复c84170212:非常感觉,修改Context root后就正常了 Re: 司空傲 -11-23 11:36发表 [回复] [引用] [举报]回复c84170212:我的也404,但是按照你做的方法 改root那个地方报错不给我改,你能把你那发给我下吗?qq707415069 谢谢了 197楼 lucker1991 -11-16 12:31发表 [回复] [引用] [举报]我的maven目录格式不对,我一开始新建的maven跟楼主的是一样的,后来我导入过其他框架的工程,然后我的maven目录格式就变了,都删除新建也不行了,求大神指教 196楼 方正丶 -11-14 20:17发表 [回复] [引用] [举报]框架小白,工作之余,整了一周,终于整出了来了,不过差点被那个被mapper namespace卡死了,一直以为是xml的地址,谁知道是接口的地址。还是挺开心的 Re: dandan_18 -11-20 13:41发表 [回复] [引用] [举报]回复qq_36356218:namespace是这么写的吗

<mapper namespace="com.java.monica.dao.IUserDao" > Re: 方正丶 -12-01 14:46发表 [回复] [引用] [举报]回复dandan_18:是的,指向dao接口就行了,这不就是个接口的实现吗查看更多评论 * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场<script type="text/javascript">var fileName = '44455235'; var commentscount = 408; var islock = false</script><script type="text/javascript" src="http://static./scripts/comment.js"></script><script type="text/javascript">$(function () { $("#ad_frm_0").height("90px"); setTimeout(function(){ $("#ad_frm_2").height("200px"); },1000); });</script>

核心技术类目
全部主题HadoopAWS移动游戏JavaAndroidiOSSwift智能硬件DockerOpenStackVPNSparkERPIE10EclipseCRMJavaScript数据库APIHTMLSDKIISFedoraXMLLBSUnitySplashtopUMLcomponentsWindows MobileRailsQEMUKDECassandraCloudStackFTCcoremailOPhone CouchBase云计算iOS6Rackspace Web AppSpringSideMaemoCompuware大数据aptechPerlTornadoRubyHibernateThinkPHPHBasePureSolrAngularCloud FoundryRedisScalaDjangoBootstrap <script language="javascript" type="text/javascript">$(function(){ setTimeout(function(){ $.get("/gebitan505/svc/GetTagContent",function(data){ $(".tag_list").html(data).show(); }); }); },500);</script><script type="text/javascript">$(function(){ setTimeout(function(){ $(".comment_body:contains('回复')").each(function(index,item){ var u=$(this).text().split(':')[0].toString().replace("回复","") var thisComment=$(this); if(u) { $.getJSON("/get/nick?callback=?", {users: u}, function(a) { if(a!=null&&a.data!=null&&a.data.length>0) { nick=a.data[0].n; if(u!=nick) { thisComment.text(thisComment.text().replace(u,nick)); } } }); } }); },200); setTimeout(function(){ $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); }) },5000); setTimeout(function(){ $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); }) },10000); setTimeout(function(){ $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); }) },15000); setTimeout(function(){ $("a img[src='http://js./stats.gif']").parent().css({"position":"absolute","left":"50%"}); },300); }); function loginbox(){ var $logpop=$("#pop_win"); $logpop.html(' src="/account/loginbox?service=http://static./callback.htm" frameborder="0" height="600" width="400" scrolling="no">'); $('#popup_mask').css({ opacity: 0.5, width: $( document ).width() + 'px', height: $( document ).height() + 'px' }); $('#popup_mask').css("display","block"); $logpop.css( { top: ($( window ).height() - $logpop.height())/ 2 + $( window ).scrollTop() + 'px', left:($( window ).width() - $logpop.width())/ 2 } ); setTimeout( function () { $logpop.show(); $logpop.css( { opacity: 1 } ); }, 200 ); $('#popup_mask').unbind("click"); $('#popup_mask').bind("click", function(){ $('#popup_mask').hide(); var $clopop = $("#pop_win"); $("#common_ask_div_sc").css("display","none"); $clopop.css( { opacity: 0 } ); setTimeout( function () { $clopop.hide(); }, 350 ); return false; }); }</script> <script language="javascript" type="text/javascript" src="/js/async_new.js"></script>个人资料

AndyLizh 访问:2585961次积分:16994 等级:积分:16994 排名:第483名原创:21篇转载:714篇译文:0篇评论:785条 文章搜索 <script type="text/javascript">$(function () { $("#btnSubmit").click(function () { search(); }); $("#frmSearch").submit(function () { search(); return false; }); function search() { var url = "/so/search/s.do?q=" + encodeURIComponent($("#inputSearch").val()) + "&u=" + username + "&t=blog"; window.location.href = url; } });</script>文章分类 App接口设计与开发(33) Android UI设计与开发(41) Android开发工具(17) Android开发常识(91) IT技术基础(33) NodeJS(3) 机顶盒&TV开发(3) Mac开发基础(2) J2EE开发基础(16) Appwidget(8) 项目管理(8) 百度地图开发(4) 天气预报(3) Android MAtrix(5) AQuery(3) Android动画(5) Android JSON解析(3) 架构设计(7) NoSql(5) Linux系统(33) 网络问题(8) NoSQL数据库之Redis数据库管理(7) DLNA(4) 码农天气(9) 开源学习(8) Android完整应用(10) Android自定义控件(32) 数据库知识(7) AIDL(5) 微信公众平台(27) PHP(5) PHP学习(6) Android进阶(7) 网站设计(13) IT杂谈(9) 程序员英语(2) Android 实现书籍翻页效果(6) ngrok(7) 命名规范(4) 创业(2) Spring MVC(29) Maven(14) Android布局(1) nginx(4) ActiveMQ(7) restful(12) centos(25) MongoDB(19) node.js(28) GeoIP2(1) 智能电视适配(1) 极光推送(2) Mysql(10) Redis(9) MyBatis(4) idea(6) Swagger框架学习分享(5) lucene(6) 微信企业号(1) shiro(5) Retrofit(2) Jersey(3) WEB大前端开发(1) Centos7(20) ELK(1) Spring Boot(119) html5_音视频(4) Sublime Text(6) vue2.0(40) python(1) 文章存档04月(28)03月(30)02月(126)01月(18)12月(3)11月(1)09月(3)08月(7)07月(16)06月(43)05月(1)04月(5)02月(2)01月(2)12月(1)09月(18)08月(6)07月(3)06月(27)05月(10)04月(7)03月(6)02月(2)01月(7)12月(8)11月(1)10月(6)09月(27)08月(22)07月(9)06月(29)05月(30)04月(42)03月(19)02月(34)01月(10)12月(27)11月(83)10月(17)09月(17)展开 阅读排行 SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)(655203)【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)(87914)APP接口设计安全问题(47788)微信公众平台申请测试接口URL和TOKEN的配置,怎么在本地让微信能通过80端口访问(43092)极光推送 使用实例 (一)服务端(40436)Android ActionBar应用实战,高仿微信主界面的设计(39265)@OneToMany或@ManyToOne的用法-annotation关系映射篇(上)(37648)免费接口API(36784)Nodejs学习笔记(四)与MySQL交互(felixge/node-mysql)(32193)ngrok 本机代码部署外网访问神器(29078)评论排行SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)(408)一个国内的 ngrok 服务器(29)基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果(20)Android ActionBar应用实战,高仿微信主界面的设计(17)极光推送 使用实例 (一)服务端(16)【Android UI设计与开发】第07期:底部菜单栏(二)Fragment的详细介绍和使用方法(11)移动应用与API 服务器之间的安全通信解决方法(10)SlidingMenu与ViewPager双向滑动的解决方案(8)【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)(7)APP接口设计安全问题(7)推荐文章* 【《Real-Time Rendering 3rd》 提炼总结】(一) 全书知识点总览* CSDN日报0409 ——《扯蛋的密码规则》* Shader2D: 一些2D效果的Shader实现* 一个屌丝程序猿的人生(六十一)* 自定义控件三部曲视图篇(三)——瀑布流容器WaterFallLayout实现* 面向服务的体系架构(SOA)—架构篇最新评论 SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

wq6617:哥,你太nb了,我这个搞了半天,找你说的做终于解决了

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

w8396:spring-mvc.xml中这个类错了,包里根本没有这个类:org.springframework...

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

robbb:收缴了,O(∩_∩)O~

(28)SpringBoot启动时的Banner设置【从零开始学Spring Boot】

gniqeux:在eclipse的控制台实现不了改变颜色

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

qq_27175847:jdbc.properties一定要看每行后面是否有空格,这个很坑人!!!

极光推送 使用实例 (一)服务端

xuezhixai:找了好久,用了楼主的,没一点问题,感谢

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

qq_33350115:写的很好,很详细,楼主用心了啊,虽然我隔了两年才看到。哈哈

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

夜无痕星:@qixiaoshen:为什么我的写全之后也不行?依然是什么都注入不了。

@OneToMany或@ManyToOne的用法-annotation关系映射篇(上)

xun0928:楼主你好,我想问一下这样的代码最终数据库结构是什么样的?

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

云y:测试成功 谢谢了

id="iframeu2734128_0" src="/rcpm?rdid=2734128&dc=3&di=u2734128&dri=0&dis=0&dai=2&ps=4320x74&dcb=___adblockplus&dtm=HTML_POST&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1492187365728&ti=SSM%E6%A1%86%E6%9E%B6%E2%80%94%E2%80%94%E8%AF%A6%E7%BB%86%E6%95%B4%E5%90%88%E6%95%99%E7%A8%8B%EF%BC%88Spring%2BSpringMVC%2BMyBatis%EF%BC%89%20-%20AndyLizh%E7%9A%84%E4%B8%93%E6%A0%8F%20-%20%E5%8D%9A%E5%AE%A2%E9%A2%91%E9%81%93&ari=2&dbv=2&drs=3&pcs=1349x613&pss=1349x24968&cfv=0&cpl=5&chi=1&cce=true&cec=UTF-8&tlm=1492187365&rw=613&ltu=http%3A%2F%%2Fgebitan505%2Farticle%2Fdetails%2F44455235%2F&ltr=https%3A%2F%%2Flink%3Furl%3DQEyQwPfwcqeqydMrwwPs__edNkZYLu9tZ4oMIy8ZoCDmtNxFlHTwv-DX4qtyzY5g3t23Y5wKhSycDgw665pwnnPTQt8TN6KepcFBZ6WOUjG%26wd%3D%26eqid%3Dd93c63f100047bb10000000358f0cac3&ecd=1&uc=1366x728&pis=-1x-1&sr=1366x768&tcn=1492187366&qn=b31a661be30fe788&tt=1492187365712.27.27.28" width="200" height="200" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" style="border:0;vertical-align:bottom;margin:0;width:200px;height:200px" allowtransparency="true"><script>var naviga_offsetTop = 0; function naviga_stay_top(){ var scrollTop = jQuery(document).scrollTop(); if( scrollTop > naviga_offsetTop ){jQuery('#nav_show_top_stop').css({'position': 'fixed'});jQuery('#nav_show_top_stop').css({'top': '0px'}); } else {jQuery('#nav_show_top_stop').css({'position': 'fixed'});jQuery('#nav_show_top_stop').css({'top': naviga_offsetTop - scrollTop + 'px'}); } }function onload_function(){naviga_offsetTop = jQuery('#nav_show_top_stop').position().top; jQuery(window).bind('scroll', naviga_stay_top); jQuery(window).bind('mousewheel',naviga_stay_top); jQuery(document).bind('scroll', naviga_stay_top); jQuery(document).bind('mousewheel',naviga_stay_top); }jQuery(document).ready( onload_function );</script><script type="text/javascript">(window.cproArray = window.cproArray || []).push({ id: 'u2734128' });</script> <script src="/cpro/ui/c.js" type="text/javascript"></script><script type="text/javascript" src="/rabbit/cnick/cnick.js"></script><script type="text/javascript" src="http://static./scripts/newblog.min.js"></script><script type="text/javascript" src="http://medal./showblogmedal.ashx?blogid=907716"></script><script type="text/javascript" src="http://static./scripts/JavaScript1.js"></script> rel="stylesheet" type="text/css" href="///pubfooter/css/pub_footer_.css" />公司简介|招贤纳士|广告服务|联系方式|版权声明|法律顾问|问题报告|合作伙伴|论坛反馈网站客服杂志客服微博客服webmaster@400-600-2320|北京创新乐知信息技术有限公司 版权所有|江苏知之为计算机有限公司|江苏乐知网络技术有限公司京ICP证09002463号|Copyright © 1999-, , All Rights Reserved src="about:blank" frameborder="0" scrolling="no" style="z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;background:transparent"> 您有206条新通知 <script id="noticeScript" type="text/javascript" btnid="header_notice_num" wrapid="note1" count="5" subcount="5" src="///rabbit/notev2/js/notify.js?9d86d94"></script><script type="text/javascript">document.write("");</script><script type="text/javascript" src="/ui/scripts/Csdn/counter.js"></script><script type="text/javascript" charset="UTF-8" src="/msg.popup.js"></script><script type="text/javascript" src="/scripts/ad-blog.js"></script><script type="text/javascript">$(function () { function __get_code_toolbar(snippet_id) { return $("" + ""); } $("[code_snippet_id]").each(function () { __s_id = $(this).attr("code_snippet_id"); if (__s_id != null && __s_id != "" && __s_id != 0 && parseInt(__s_id) > 70020) { __code_tool = __get_code_toolbar(__s_id); $(this).prev().find(".tools").append(__code_tool); } }); $(".bar").show(); });</script><script id="csdn-toolbar-id" btnid="header_notice_num" wrapid="note1" count="5" subcount="5" type="text/javascript" src="/public/common/toolbar/js/toolbar.js"></script> href="/comm_ask/css/ask_float_block.css" type="text/css" rel="stylesheet" /> <script language="JavaScript" type="text/javascript" src="/comm_ask/js/libs/wmd.js"></script> <script language="JavaScript" type="text/javascript" src="/comm_ask/js/libs/showdown.js"></script> <script language="JavaScript" type="text/javascript" src="/comm_ask/js/libs/prettify.js"></script> <script language="JavaScript" type="text/javascript" src="/comm_ask/js/apps/ask_float_block.js"></script> <script id="adJs52b5334" src="/js/opt/52b5334.js?t=0.5169635059297344"></script> <script>document.getElementById("adJs52b5334").src = "/js/opt/52b5334.js?t=" + Math.random();</script> rel="stylesheet" href="http://static./css/blog_code.css" /> <script type="text/javascript" src="http://static./scripts/saveToCode.js"></script> <script type="text/javascript" src="///rabbit/tracking-ad/main.js?75eacd8"></script> rel="stylesheet" href="http://static./css/fa.css" /> 收藏助手 src="" id="fa" frameborder="0" width="100%" height="360" scrolling="no"> </div></body></html>rel="stylesheet" type="text/css" media="screen" href="/assets/ask_float_fonts_css-6b30a53970eb5c3a2a045e3df585b475.css" />

提问

您的问题将会被发布在“技术问答”频道×该问题已存在,请勿重复提问插入链接 本地上传网络图片src="/upload.html">插入图片||||||

000:0推荐标签:我要悬赏币取消发布可能存在类似的问题:我想提一个新问题

保存代码片

整理和分享保存的代码片,请访问代码笔记*标题*描述标签取消确定

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。