《Maven 实战》读书笔记(六) 聚合
1. Maven聚合的概念
聚合概念是由来已久,比如我们需要2个项目协调合作才能完成一个大的、完整的业务场景,这个时候就需要构建2个项目,但是呢,想一次性就构建这2个项目,而不是分别构建2个项目后再合在一起整。这样我们就需要一个比较特殊的项目了,就是所谓的聚合项目,这个项目没有别的目的,就是仅仅为了聚合多个项目模块用的。
2. 新的项目模块
在介绍聚合项目前,先利用IDE建立一个新的项目模块——MavenAccount-persist,负责注册系统的持久层业务,按照Maven的项目规范,我们建立项目如下。
实体POJO如下
package pojo;
/** * 注册用户实体 * @author liuyan */ public class Account {
private String id; private String name; private String password; private String email;
//省去setter和getter
}
业务接口
package dao; import pojo.Account;
/** * 业务接口 * @author liuyan */ public interface AccountDAO {
public boolean save(Account account);
public boolean update(Account account);
public Account query();
public boolean delete(String id);
}
接口实现类
package dao.impl;
import pojo.Account; import dao.AccountDAO;
/** * 业务实现类 * @author liuyan */ public class AccountDAOImpl implements AccountDAO {
@Override public boolean delete(String id) { System.out.println("删除记录"); return true; }
@Override public Account query() { System.out.println("查找记录"); return null; }
@Override public boolean save(Account account) { System.out.println("保存记录"); return true; }
@Override public boolean update(Account account) { System.out.println("更新记录"); return true; }
}
之前咱们说过,Java具体技术不是我们这个学习笔记系列的重点,所以我只是输出一些简单信息,并没有和任何的持久层框架结合起来。咱们权且当做完成了这个注册系统的持久层模块吧。
Spring配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:p="http://www.springframework.org/schema/p">
<bean id="accountDAO" class="dao.impl.AccountDAOImpl"> </bean>
</beans>
mvn clean install
之后两个模块就一起构建了。
[INFO] ------------------------------------------------------------------------ [INFO] Building MavenAccount-aggregator 0.0.1-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ MavenAccount-aggrega tor --- [INFO] [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ MavenAccount-a ggregator --- [INFO] Installing E:\Genuitec\ws\MavenAccount-aggregator\pom.xml to C:\Users\liu yan\.m2\repository\com\liuyan\account\MavenAccount-aggregator\0.0.1-SNAPSHOT\Mav enAccount-aggregator-0.0.1-SNAPSHOT.pom [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] MavenAccount-email ................................ SUCCESS [6.553s] [INFO] MavenAccount-persist .............................. SUCCESS [1.498s] [INFO] MavenAccount-aggregator ........................... SUCCESS [0.062s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 8.300s [INFO] Finished at: Sun Jun 05 12:51:01 CST 2011 [INFO] Final Memory: 13M/31M [INFO] ------------------------------------------------------------------------
4. 总结
我们这里仅仅介绍了集合模块一起构建的方式,当然如果模块少,一个一个分别build成功后再集成也无可厚非,看项目具体情况而定。这次我们留了一个问题,就是这两个项目模块使用的依赖包版本不一致怎么办,因为pom.xml是分别声明的依赖,这个问题我们留在了Maven继承机制解决。
《Maven 实战》读书笔记(六) 聚合相关推荐
- [原创]Maven实战-读书笔记
Maven读书笔记 Maven读书笔记 依赖 快捷键:Alt+Shift+X M 使用ArcheType来创建Maven项目骨架: Maven中坐标的定义 依赖范围 依赖传递 依赖调解 可选依赖 ...
- Maven实战读书笔记(六):Maven灵活构建
Maven为了支持构建的灵活性,内置了3大特性,即:属性.Profile和资源过滤. 6.1 Maven属性 Maven的属性与Java代码的常量有异曲同工之妙,都是为了消除重复,对相关内容进行统一管 ...
- Maven实战读书笔记(3)
2019独角兽企业重金招聘Python工程师标准>>> POM是什么? 1.像Make的Makefile.Ant的build.xml一样,Maven项目的核心是pom.xml 2.P ...
- Maven实战读书笔记1
Maven第一章 何为Maven 何为构建 何为Maven Maven翻译为:知识的累积,专家,内行.是Apache组织中成功的一个开源项目.主要服务于基于Java平台的项目构建.依赖管理和项目信息管 ...
- maven实战--读书笔记之第一章和第二章
第一章:Maven简介 1.本书为国内社区公认的专家徐晓斌所写,本书基于maven3.0所编写,maven是非常优秀的建模工具,maven最大化的消除了构建的重复,抽象了构建生命,他还有一个优点,帮助 ...
- Go语言实战读书笔记
2019独角兽企业重金招聘Python工程师标准>>> Go语言实战读书笔记 第二章 通道(channel).映射(map)和切片(slice)是引用类型.引用类型的对象需要使用ma ...
- Spring4实战读书笔记
Spring4实战读书笔记 首先,我们需要明白,为什么我们需要引入Spring,也就是说Spring的好处.个人觉得主要是在于两方面解耦和对bean的管理. 第一部分:Spring核心 共分为四个章节 ...
- iPhone与iPad开发实战读书笔记
iPhone开发一些读书笔记 手机应用分类 1.教育工具 2.生活工具 3.社交应用 4.定位工具 5.游戏 6.报纸和杂志的阅读器 7.移动办公应用 8.财经工具 9.手机购物应用 10.风景区相关 ...
- 3d游戏设计读书笔记六
3d游戏设计读书笔记六 一.改进飞碟(Hit UFO)游戏: 游戏内容要求: 按 adapter模式 设计图修改飞碟游戏 使它同时支持物理运动与运动学(变换)运动 更改原 UFO_action 类 为 ...
- 机器学习实战---读书笔记: 第11章 使用Apriori算法进行关联分析---2---从频繁项集中挖掘关联规则
#!/usr/bin/env python # encoding: utf-8''' <<机器学习实战>> 读书笔记 第11章 使用Apriori算法进行关联分析---从频繁项 ...
最新文章
- hdu 3007【爬山算法】
- python mk趋势检验_【C语言】MK趋势检验C语言代码
- Qtum量子链受邀出席日本早稻田研究所区块链教育讲座
- mysql多主单向环形_mysql多主单向--gt;环形同步_MySQL
- 免费公开课 | 强化学习及其在竞速无人机中的应用
- Exchange 2010部署
- Uber柳甄:Uber中国独立核算 谋求国内A股上市
- 【转载】Python中numpy 数组的切片操作
- 阿里云解决方案架构师,讲述分布式架构云平台解决方案(附图文)
- 计算机工程 目录 2014年第1期 pdf,2013科技核心期刊目录有效期至2014年).pdf
- python3.7中文手册chm_python3.7 官方中文手册文档全套
- 智鼎逻辑推理题及答案_2020常见校招笔试题型解析
- python数据分析房价预测_Kaggle入门级赛题:房价预测——数据分析篇
- MacBook使用U盘重装系统
- Nvidia TX2 串口使用
- bim综合建模插件 进行碰撞检查只需六步!
- 西门子200SMART(六)数据块
- php对接腾讯云直播,聊天,im,云录制产生回放
- java 中完成 乘方 , 开方 可借助于java.lang.Math类的工具
- tess4j验证码识别