首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

《Maven 实战》读书笔记(6) 聚合

2012-08-16 
《Maven 实战》读书笔记(六) 聚合1.Maven聚合的概念聚合概念是由来已久,比如我们需要2个项目协调合作才能完

《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" 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] ------------------------------------  


4.       总结

我们这里仅仅介绍了集合模块一起构建的方式,当然如果模块少,一个一个分别build成功后再集成也无可厚非,看项目具体情况而定。这次我们留了一个问题,就是这两个项目模块使用的依赖包版本不一致怎么办,因为pom.xml是分别声明的依赖,这个问题我们留在了Maven继承机制解决。

热点排行