基于Maven的垂直杏彩网站开发应用架构SSM框架

最近搞了杏彩网站开发 haozbbs.com Q1446595067一个基于Maven的垂直应用架构SSM框架,在此记录一

首先阐述一下整个结构

hjh_jar_management 是用于管理jar包的项目,父工程

hjh_project_management 用于项目管理,聚合工程

        hjh_project_dao  用于存放系统DAO层里的 实体类、Mapper.xml、DAO接口、其他通用工具类等

        hjh_project_service  系统的service层

        hjh_project_web  系统的后端,主要放了控制器

        hjh_project_web_front  系统前端,主要放了HTML页面、CSS、JS、图片等。如果是大型互联网项目这里还可以做动静分离。

        除此之外,系统可以根据自身业务需求,將一个大系统拆分成无数个小系统,每个系统可以独立开发测试部署。

以上项目名称仅举例使用,具体项目拆分请自行决定

第一步:创建父工程

因为我已经有这个名字的项目了,所以报错。请忽略

右键新建Maven Project 选择Packaging类型为Pom

创建好后的父工程项目结构

是的,里面只有一个POM文件,用来配置jar包依赖。接下来配置pom

需要注意的是,第一,版本号最好都声明在上面。这样改动起来比较容易,最好搭配好注释。第二,就是<dependencyManagement>这个标签一定要有,这个标签的意思很明显,依赖管理。这样它的子工程不会产生实际依赖,而是根据子项目的自身需求,引用jar包。如果不加入这个标签的话,那么子项目会完全引用父项目的所有jar,但子项目不一定全部使用,所以一定要加。

配置build

这一步还是很重要的,这里配置就是告诉maven用jdk1.8来编译

配好自己喜欢的jar包了以后,我们来创建聚合工程

第二步 创建聚合工程

选中父项目右键新建Maven Module

下一步,输入项目名,將包类型改为pom

创建完成以后可以看到,这里面也只有一个pom文件

当后续其他子项目创建好后,我们就可以通过这个pom来管理整个分布式架构内的所有子项目,比如新增子项目,剔除子项目。

里面这三部分里,第一部分parent指向父级maven工程,第二部分项目自身说明,第三部分就是子项目啦,按住Ctrl可以直接点击打开对应父项目或子项目的pom文件

如果此时你还没有创建对应的子项目,是不会有modules信息的。
第三步 子模块搭建

右键聚合工程,也就是hjh_project_management新建Maven Module项目,本次项目结构是將dao 层和service层分离开来,顺便做了一个前后端分离。所以需要创建的子项目有 四个,两个java项目,两个web项目。

项目结构

顺便提一句,因为再给公司同事讲的时候他们有问我红框内的东西是什么

在这里解释一下,左上角M不多BB,Maven项目标识,右边的那个是S代表 这是一个Spring项目,我用的Eclipse开发工具,如果你的没有,那就和我一样下载一个Eclipse的STS插件,这个STS是Spring基于Eclipse自己开发的专门用于Spring项目开发的开发工具全称是Spring Tool Suite(有点绕哈),比较实用,可以实时查看bean的注入情况,也可以对bean进行管理,不多BB安装教程自行度娘。

然后配置对应子项目的pom文件此处以hjh_project_dao的pom文件为例

可能大家已经发现了,在此处我引用jar包没有添加版本号,但是不报错。因为在我的hjh_jar_management这个父工程里已经有这个jar包了,而且我也设置好版本号了,所以此处直接告诉maven我要用那个包就可以了,无需版本号。当然,父工程里一定要有这个jar包,如果直接加版本号引用虽然也可以,并且不报错,但是就丧失了hjh_jar_management这个jar包管理专用的父工程的功能了,我们创建它就是用它来统一管理所有子工程的jar包的。对于小项目自然不需要过于复杂的设计,因为东西很少,但当项目非常大,开发人员达到四五十人的时候,jar包管理就显得尤为重要了。避免很多坑。

其他的项目就是SSM那套东西,所需jar包自行引入。
期间遇到的异常

  1. 在web子工程新建好的时候项目会报一个web.xml is missing and <failOnMissingWebXml> is set to true的异常,说白了就是没有web.xml文件。

解决办法:创建一个就行了

  1. web项目创建好后可能会报一个构建路径问题,记得好像是缺少servlet什么包。

解决办法:你可以尝试 项目右键--》构建路径 --》配置构建路径 --》添加一个服务器

  1. 拓展

我们还可以搭建一个模板项目,然后通过maven制作成maven模板,这样下次新项目立项搭建就直接引用模板即可。更加方便省事。

通过这次搭建,也让我对SSM框架认识的更深了,尤其是maven,还是那句话,如果你总做你已经会的东西,那你很难有太大的进步。

这里我表述或许不是很清楚,很简略,故在此贴出我当时参考项目的文档及GitHub地址,各位可以自行下载研究。

猜你喜欢

转载自blog.51cto.com/13859924/2139285
今日推荐