《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; } } <?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" name="code">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] ------------------------------------