(Maven实战)对SSH项目进行拆分、聚合

代码下载

本文代码下载地址

思路

对现在已有的ssh项目进行拆分拆分思路
将dao层的代码以及配置文件全体提取出来,放到一个表现上独立的工程。service、action拆分。

拆分完成对拆分后的项目进行聚合,提出概念 父工程

**ssh-parent** :父工程

    **ssh-dao**

    **ssh-service**

    **ssh-web**

创建父工程01_maven_parent-ssh

父工程名称:01_maven_parent-ssh

创建好父工程目录结构:只有pom.xml,可以推断父工程不进行编码。

  1. 项目需要的依赖信息,在父工程中定义,子模块继承过来
  2. 将各个子模块聚合到一起

将创建好的父工程发布到本地仓库

将来 service、dao工程发布到本地仓库,发布的service工程会报错。
如果忘记此步骤,将父工程发布到本地仓库。

创建子模块01_maven_ssh-dao

ssh-dao负责数据访问层:包含dao相关代码和配置文件

  1. 右键–>new -->Maven Module

  2. Module Name:01_maven_ssh-dao

  3. Parent Project:选择父工程

  4. Packaging:jar

  5. 将Spring的配置文件拆分

    applicationContext-basic.xml:项目基础的信息
    applicationContext-dao.xml:dao层bean对象

创建子模块01_maven_ssh_service

  1. 右键–>new -->Maven Module
  2. Module Name:01_maven_ssh_service
  3. Parent Project:选择父工程
  4. Packaging:jar
  5. 将Spring的配置文件拆分
  6. 在service工程pom.xml文件添加ssh-dao的依赖

创建子模块 01_maven_ssh-web

  1. 右键–>new -->Maven Module
  2. Module Name:01_maven_ssh-web
  3. Parent Project:选择父工程
  4. Packaging:war
  5. 将Spring的配置文件拆分
  6. 添加web.xml,加载项目和jar包中的spring配置文件
  7. 在ssh-web项目中添加ssh-service工程依赖
<!-- 通过上下文参数指定配置spring配置文件路径 -->
  <context-param>
  	<param-name>contextConfigLocation</param-name>
  	<param-value>classpath*:spring/applicationContext-*.xml</param-value>
  </context-param>

单元测试

  • 批量加载spring配置文件

classpath:spring/applicationContext-*.xml

classpath*:spring/applicationContext-*.xml:既要加载本项目中配置文件,还要加载jar包中的配置文件

  • 传递依赖

因为依赖会有依赖范围,依赖范围对传递依赖也有影响,例如有A、B、C,A依赖B、B依赖C,C可能是A的传递依赖,如下表格:

直接依赖\传递依赖compileprovidedruntimetest
compilecompile-runtime-
providedprovidedprovidedprovided-
runtimeruntime-runtime-
testtest-test-

总结:当项目中需要的某一个依赖没有传递过来,在自己的工程中添加对应依赖就可以。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath*:spring/applicationContext-*.xml")
public class CustomerServiceTest {
	
	@Autowired
	private CustomerService customerService;

	@Test
	public void testFindOne() {
		customerService.findOne(1);
	}

}

测试

Maven 方式:

方式1:运行父工程。父工程将各个子模块聚合到一起。将ssh-web打成war包发布到tomcat
方式2:直接运行web工程

其他方式:

部署到tomcat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值