2018-01-18使用maven搭建多模块的springmvc+mybatis

1、maven自动管理java包

2、maven构建多个模块,结构清晰,管理方便。

3、使用mybatis持久化框架,手动编写更多的sql语句

一、测试环境原理

mysql5.5 + myeclipse2014 +navicate + jdk1.7 + tomcat 7

1、模块聚合

随着项目越来越大,功能越来越多,更多的时候需要模块管理,例如本实例分为model persist service web 

maven的聚合功能将多个模块统一管理,一次构建。

聚合pom仅仅是帮助模块聚合的工具,本身并没有实质内容




module 就是各模块名称

通过构建一个打包方式为pom的maven项目,通过声明多个module,来实现聚合。

packaging:pom 否则无法聚合构建



2、pom继承

通过在父pom中声明来实现子pom中的复用和消除。

打包方式packging:pom,因此可以和聚合使用同一个配置文件。


dependencyManagement 、pluginManagement,让子pom继承父pom的同时,又保证了子pom的灵活性,并没有实际引入子pom中,但约束了子pom的依赖。


二、项目目录结构


各项目功能介绍:

ssm-root是maven-project是父级maven,管理整个项目

ssm-model是数据模型模块

ssm-persist是持久化模块,使用的mybatis,则有映射的接口和对应的xml配置文件

ssm-util是工具模块

ssm-service是业务服务模块,是对数据操作接口定义和实现的模块

ssm-web是核心业务处理层,是springmvc的controller实现处

三、项目搭建

首先eclipse得安装maven,教程https://jingyan.baidu.com/article/295430f136e8e00c7e0050b9.html

1、创建父级maven-project

新建--->maven-project-->simple-->输入名称,创建完毕。


选择maven project


默认选项


fileter中输入simple,选择site,其他两个j2ee和seam本人没有测试。


输入相关的参数

注意:

groupId定义当前模块隶属的实际Maven项目, 表示方式与Java包类似   

: groupId不应直接对应项目隶属的公司/组织(一个公司/组织下可能会有很多的项目).

artifactId定义实际项目中的一个Maven模块     

: 推荐使用项目名作为artifactId前缀, 如:commons-lang3commons作为前缀(因为Maven打包默认以artifactId作为前缀)

version定义当前项目所处版本(如1.0-SNAPSHOT4.2.7.RELEASE1.2.1514.0.1-h-3 等)       

:Maven版本号定义约定: <主版本>.<次版本>.<增量版本>-<里程碑版本>

packaging定义Maven项目打包方式, 通常打包方式与所生成构件扩展名对应      

:有jar(默认)、war、pom、maven-plugin等.

classifier用来帮助定义构建输出的一些附属构件(如javadoc、sources)     

: 不能直接定义项目的classifier(因为附属构件不是由项目默认生成, 须有附加插件的帮助)

2、创建子maven-model

注意:父maven管理所有的子maven项目

在父maven中选择新建--->选择maven-model-->选择quickstart--->输入相关参数


新建model


filter中输入start,选择第一个maven release quickstart


选择版本号,完成

注意:此时,在父级maven中已经含有了子maven-model项目


重复上述步骤,依次创建persist、service、util,

对于web项目,在filter时,输入web,选择相应maven管理下的web app 


注意:创建完web项目后,我的该web项目会自动添加maven webapp 然而在pom.xml中使用的项目名称是web,于是对该项目重命名,使用reactor--rename,当修改了name后,发现子项目web消失了,于是从新创建model,选择web,eclipse会自动将之前创建的web项目载入。

第一次创建后,没有修改,在maven clean时候,报错,说在找不到web的pom.xml。具体原因,未确定。

关于依赖。

参考文章:http://blog.csdn.net/zjf280441589/article/details/53044308

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,052评论 6 342
  • 26岁的年轻妈妈,自述吃得很少,但身体发胖。她长期为了孩子焦虑、抑郁,气血不足,停经已半年。之前做过针炙按摩等治疗...
    宇恩情志疏导工作室阅读 4,724评论 0 0
  • 1-2爷爷的秘密 我们家祖籍并不是青海的,我小时候听姑姑提过,我们老家是山东的。困难时期因为家里穷,爷爷只身一人...
    陆家小少爷阅读 1,813评论 0 1
  • (一) “真是麻烦,你的血味道也不怎么样嘛。”吴正扔掉了沾满鲜血的啤酒瓶,呆呆地盯着地板说。 地板上,楚远抽搐着身...
    郭小蚯阅读 1,800评论 0 1