idea整合ssm父子模块项目搭建

由于在公司实习,接触的实际案例比较多,其中就包括idea环境下的ssm分层整合。

网上查了下,要不就是Eclipse ssm分层整合,或者idea ssm maven整合,却没有两者的结合。本人用两个小时时间,加上不懈的努力,最终完成ssm在idea环境下分模块的搭建。

具体步骤如下:

前言:在我的理解,maven的功能主要体现在两大特性上:继承、聚合。

继承:我们可以在web_project(pom)父项目上建所有的依赖,而其他(mapper(jar)、service(jar)、server(jar)、controller(war))模板项目层继承父项目,就可以继承其所有的依赖,也就是所有的jar包。

聚合:一个父项目下的所有子项目其实可以看做一个项目(唯一的不同是包间调用时需要加依赖,配置文件调用也需要加),加上之后便可以通过一定的规则调用所有的java与test根目录下的资源。

具备这两大特性使得maven在项目中既实现分层编程,同时不需额外的配置信息。

写此的目的是记录自己搭建的详细过程(包括单元测试):方便日后查看不要浪费不必要的时间:

1 建maven父工程:(根据日后编程过程编写)

输入自己骨架信息

完成即可,创建父工程结束。

2 创建mapper子工程:

同上,目的是完成持久层的一些操作,对数据库进行增删改查。

mapper具体操作:首先引入配置文件信息:

这里有个问题,刚开始建时将mapper同时放入java目录下,导致idea无法识别,不同于Eclipse的一点。放入resource后,默认还是在相同文件夹下。

jAVA目录下
交由spring容器自动生成事务与session工厂对象
添加mapper扫描器对指定mapper包扫描
mapper映射文件中一个简单查询

完成后,对其进行junit测试:

加载所有spring配置文件,spring容器通过mapper扫描器获取mapper动态代理对象注入studentMapper中

测试成功。

在mapper层建包有mapper、po(存储持久化实体)、vo(存储查询实体)、util(功能包)等包。

3  建service层(注:只有当大部分mapper实体操作编完并测试通过后在进行针对mapper API的service层编写)

建maven 子模块,同上。目录结构如下

设置扫描service包,spring容器获取@service下的对象
spring容器将获取到的service对象注入并进行junit测试

这里有个地方需要说明:classpath*:这里*指代其他依赖包下的配置文件,引用格式必须加*,这样才能完成对所有spring包的加载。

service层建包:service(存入持久化实体,业务主类是那个就在那个里添加相应的业务逻辑,最好是针对特定持久化实体建service类)、vo(业务层实体)、util(功能类)等包

4 建API包:module同上:

定义业务接口

需要说明的是:现在公司一般都是针对于接口编程,所以,我们需要抽象出一个API业务接口,供pigeon远程调用。也就是说我们看不到底层mapper的具体实现,只能看到service接口,以及这些接口实现怎样的功能。

API仅定义一个接口

5 建web子模块

这里需要选择web骨架
建完后目录结构
springmvc建扫描controller包获取controller对象
获取spring生成的service对象注入,并调用相应方法
部署到tomcat

最后,访问http://localhost:8080/doget.do显示输出结果。

额外说明:

1 各层的依赖说明 service依赖mapper与api层;web依赖service与api层。

为什么这样依赖?

因为依赖方会调用被依赖方的包内类方法或者配置文件。

2 具体流程:mapper-install;api-install;service-install;web-install最终将web项目打成war。

3 用maven很多地方总是无缘无故(莫名其妙)出错,很烦。

有不明白的欢迎下方留言。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,579评论 18 139
  • 认识 Spring 框架 更多详情请点击这里:这里 Spring 框架是 Java 应用最广的框架,它的成功来源于...
    我没有三颗心脏阅读 17,317评论 13 52
  • 我忘记的东西很多 我很担心自己 要老年痴呆了 我唯一没忘的是尖尖婆 她从我的灵魂穿入我的现实 占据着我的全世界 我...
    野地百合花阅读 504评论 1 1
  • ①日清人:刘晓童 ②心得体会: 1.昨天的考试大家的成绩都不理想,就我自己而言,在复习的时候觉得知识点都记...
    深笑567阅读 142评论 0 0
  • 今天下午参加了亲子日记交流大会,特别是方校长和优秀老师的发言让我感触深刻,真真的应了那句听君一席话 胜读十年书,优...
    刘韩旭妈妈阅读 469评论 0 2