【Maven】分模块开发与设计

网友投稿 295 2022-11-29

【Maven】分模块开发与设计

文章目录

​​分模块开发与设计​​

​​一、模块拆分思想​​​​二、pojo模块拆分​​​​三、dao模块拆分​​

​​applicationContext-dao.xml配置​​​​pom.xml​​

​​四、service模块拆分​​

​​applicationContext-service.xml配置​​​​pom.xml​​

​​五、controller模块拆分​​

​​spring-mvc.xml配置​​​​web.xml​​​​pom.xml​​

​​六、总结​​

分模块开发与设计

一、模块拆分思想

首先我们以ssm框架项目为案例,通常的ssm项目包含了如图左侧所示的各类包,所谓的模块拆分思想,就是我们将这整个项目进行拆分每个包为一个模块(如图右侧所示),实际开发中大多也类似,每个人负责一个模块,各模块之间通过接口去调用。

我们导入ssm项目如下图所示:

简单介绍一下,此项目就是简单的用户操作项目。配置好环境后,我们运行项目进行测试,输入请求:​​version="1.0" encoding="UTF-8"?> mysql true

pom.xml

com.zyx maven_ssm_pojo 1.0-SNAPSHOT org.springframework spring-context 5.3.0 org.mybatis mybatis 3.4.5 mysql mysql-connector-java 8.0.20 org.springframework spring-jdbc 5.3.0 org.mybatis mybatis-spring 2.0.5 com.alibaba druid 1.1.20 com.github.pagehelper pagehelper 5.0.3 junit junit 4.12 org.springframework spring-test 5.3.0

​​​​

四、service模块拆分

新建模块拷贝原始项目中对应的相关内容到maven_ssm_service模块中

业务层接口与实现类(UserService、UserServicelmpl)配置文件∶保留与数据层相关配置文件(1个)pom.xml∶引入数据层相关坐标即可,删除springmvc相关坐标

springjunitspring整合junit直接依赖maven_ssm_dao (对maven_ssm_dao模块执行instal指令,将其安装到本地仓库)间接依赖maven_ssm_pojo(由maven_ssm_dao模块负责依赖关系的建立)

修改service模块spring核心配置文件名,添加模块名称,格式∶applicationContext-service.xml修改dao模块spring核心配置文件名,添加模块名称,格式∶applicationContext-dao.xml修改单元测试引入的配置文件名称,由单个文件修改为多个文件

创建maven_ssm_service项目,将原有的service包内容拷贝,并且在pom文件中导入相关的依赖配置:

将test测试文件夹中的资源文件同步修改,并且在UserServiceTest类中修改配置文件的名称:

修改完成后进行编译即可:

然后在进行一下测试:

applicationContext-service.xml配置

pom.xml

org.com maven_ssm_dao 1.0-SNAPSHOT org.springframework spring-context 5.3.0 junit junit 4.12 org.springframework spring-test 5.3.0

​​​​

五、controller模块拆分

新建模块(使用webapp模板)拷贝原始项目中对应的相关内容到maven_ssm_controller模块中

表现层控制器类与相关设置类(UserController、异常相关··…I)配置文件∶保留与表现层相关配置文件(1个)、服务器相关配置文件(1个)pom.xml∶引入数据层相关坐标即可,删除springmvc相关坐标

springspringmvcjacksonservlettomcat服务器插件直接依赖maven_ssm_service(对maven_ssm_service模块执行install指令,将其安装到本地仓库)间接依赖maven_ssm_dao、maven_ssm_pojo

修改web.xml配置文件中加载spring环境的配置文件名称,使用*通配,加载所有applicationContext-开始的配置文件

因为controller层是和我们的视图层相关,所以我们需要创建一个webapp的maven项目:

项目创建完成后,将需要的controller模块配置及代码导入:

创建webapp运行,新建maven配置,选择controller模块,选择命令​​tomcat7:run​​:

运行程序:

进入postman测试添加user用户信息,如图所示添加成功:

spring-mvc.xml配置

web.xml

contextConfigLocation classpath*:applicationContext-*.xml org.springframework.web.context.ContextLoaderListener CharacterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 CharacterEncodingFilter /* DispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath*:spring-mvc.xml DispatcherServlet /

pom.xml

com.zyx maven_ssm_service 1.0-SNAPSHOT org.springframework spring-context 5.1.9.RELEASE org.springframework spring-webmvc 5.1.9.RELEASE com.fasterxml.jackson.core jackson-databind 2.9.0 javax.servlet javax.servlet-api 3.1.0 provided org.apache.tomcat.maven tomcat7-maven-plugin 2.1 80 /

​​​​

六、总结

上面就是maven分模块开发管理,通过项目结构和maven的配置不难发现,虽然各模块之间代码独立,但是整体上是层层递进的(maven依赖配置传递)
,实际开发中要注意一下几点:

◆ 模块中仅包含当前模块对应的功能类与配置文件

◆ ​​spring​​核心配置根据模块功能不同进行独立制作

◆ 当前模块所依赖的模块通过导入坐标的形式加入当前模块后才可以使用

◆ ​​web.xml​​需要加载所有的​​spring​​核心配置文件

​​​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot中的multipartResolver上传文件配置
下一篇:ubuntu 16.04配置YouCompleteme插件
相关文章

 发表评论

暂时没有评论,来抢沙发吧~