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父工程:(根据日后编程过程编写)

idea整合ssm父子模块项目搭建_第1张图片
idea整合ssm父子模块项目搭建_第2张图片
idea整合ssm父子模块项目搭建_第3张图片
输入自己骨架信息

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

2 创建mapper子工程:

idea整合ssm父子模块项目搭建_第4张图片

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

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

idea整合ssm父子模块项目搭建_第5张图片

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

idea整合ssm父子模块项目搭建_第6张图片
jAVA目录下
idea整合ssm父子模块项目搭建_第7张图片
idea整合ssm父子模块项目搭建_第8张图片
交由spring容器自动生成事务与session工厂对象
idea整合ssm父子模块项目搭建_第9张图片
添加mapper扫描器对指定mapper包扫描
idea整合ssm父子模块项目搭建_第10张图片
mapper映射文件中一个简单查询

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

idea整合ssm父子模块项目搭建_第11张图片
加载所有spring配置文件,spring容器通过mapper扫描器获取mapper动态代理对象注入studentMapper中

测试成功。

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

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

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

idea整合ssm父子模块项目搭建_第12张图片
idea整合ssm父子模块项目搭建_第13张图片
设置扫描service包,spring容器获取@service下的对象
idea整合ssm父子模块项目搭建_第14张图片
spring容器将获取到的service对象注入并进行junit测试

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

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

4 建API包:module同上:

idea整合ssm父子模块项目搭建_第15张图片
定义业务接口

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

idea整合ssm父子模块项目搭建_第16张图片
API仅定义一个接口

5 建web子模块

idea整合ssm父子模块项目搭建_第17张图片
这里需要选择web骨架
idea整合ssm父子模块项目搭建_第18张图片
建完后目录结构
idea整合ssm父子模块项目搭建_第19张图片
idea整合ssm父子模块项目搭建_第20张图片
springmvc建扫描controller包获取controller对象
idea整合ssm父子模块项目搭建_第21张图片
获取spring生成的service对象注入,并调用相应方法
idea整合ssm父子模块项目搭建_第22张图片
部署到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很多地方总是无缘无故(莫名其妙)出错,很烦。

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

你可能感兴趣的:(idea整合ssm父子模块项目搭建)