`
suhuanzheng7784877
  • 浏览: 707002 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47830
社区版块
存档分类
最新评论

Maven3实战笔记06聚合

阅读更多

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继承机制解决。

  • 大小: 17.9 KB
  • 大小: 15.3 KB
4
1
分享到:
评论

相关推荐

    Maven3实战笔记(整合)

    从给定的文件信息来看,标题与描述都指向了“Maven3实战笔记(整合)”,这表明文档主要聚焦于Maven3的实践应用与整合经验分享。Maven是Apache软件基金会维护的一个开源项目,是一个项目管理和综合工具,主要用于Java...

    Maven3实战笔记(全)

    《Maven3实战笔记(全)》是一本全面深入介绍Maven3的实践指南,由一位具有独特风格的作者撰写,以其风趣幽默的方式解析了Maven3的各种核心概念和使用技巧。这本书涵盖了从Maven的基础安装与配置,到复杂的仓库依赖...

    Maven3实战笔记07继承

    标题:“Maven3实战笔记07继承” 描述:“Maven3实战笔记07——继承的介绍。” Maven作为Java项目管理工具,其强大的功能之一便是支持项目的继承特性,这一特性在构建大型、复杂的多模块项目时显得尤为重要。通过...

    Maven3实战笔记整合

    根据给定的文件信息,我们可以提取出关于"Maven3实战笔记整合"的知识点。由于文件内容部分出现了大量的乱码和不完整字符序列,无法直接从中提取有用的信息。但是,我们可以根据标题和描述以及通用的Maven知识点,来...

    Maven3实战视频教程(14集)

    课程目录: Maven3_01_maven概览 Maven3_02_maven安装的注意事项 Maven3_03_在eclipse中建立简单的项目 Maven3_04_maven的依赖特性 Maven3_05_maven的聚合和继承 Maven3_06_复习maven的基本...Maven3实战笔记 Maven配置

    Maven3实战笔记14Maven生成项目站点

    0.0.1:8443/svn/mysvn/mysrc/01-OpenSource/maven/MavenAccount-aggregator&lt;/url&gt;&lt;/scm&gt;3. Maven 项目站点详解Maven 的项目站点功能是一个强大的文档生成工具,它可以帮助开发者生成项目相关的各种报告,包括但不...

    尚硅谷Maven课程笔记代码资源

    【尚硅谷Maven课程笔记代码资源】是一份全面学习Maven的资料集合,它涵盖了从基础到高级的各种知识点,旨在帮助开发者深入理解并熟练运用Maven进行自动化构建。该资源包含课件、源码和相关的笔记,使得学习过程更加...

    maven学习笔记

    7. Maven实战 - 添加插件: - Compiler插件:用于编译源代码,可通过配置指定编译器版本,如`&lt;source&gt;1.6&lt;/source&gt;`和`&lt;target&gt;1.6&lt;/target&gt;`。 - Surefire插件:用于运行测试,可以配置忽略某些测试。 在实际...

    读书笔记:maven实战上的项目主要介绍了mvn的聚合邮件发送Spring bean容器读取.zip

    读书笔记:maven实战上的项目主要介绍了mvn的聚合邮件发送Spring bean容器读取

    Maven学习资源打包汇总

    《Maven3实战笔记04Maven的生命周期和插件》针对Maven3,重点讨论了Maven的生命周期和插件系统。生命周期包括清理、编译、测试、打包、验证等多个阶段,而插件则提供了执行特定任务的能力。通过理解生命周期,开发者...

    经典JavaEE5规范学习笔记

    - Maven学习笔记:介绍了Maven的实战应用,包括环境配置、坐标和依赖、仓库管理、生命周期和插件、聚合、继承、反应堆、Nexus使用、测试、Hudson集成、Profile定制、项目站点生成和插件编写等主题。 - 学习Maven的...

    Java秒杀系统方案优化高性能高并发学习实战源代码以及笔记..zip

    Java秒杀系统方案优化高性能高并发学习实战源代码以及笔记..zip 章节笔记 第1章-课程介绍及项目框架搭建 知识点 使用spring boot 搭建项目基础框架 使用Thymeleaf做页面展示,封装Result统一结果 集成 mybatis + ...

    IDEA开发工具+Maven使用详解视频课程(适合初学者的教程)

    本课程从IDEA开发工具的安装及配置使用讲起,详细讲解Maven项目管理工具,适合初学者的教程,让你少走弯路!...使用Nexus搭建私服6.Maven综合实战应用教学全程采用笔记+代码案例的形式讲解,通俗易懂!!!

    spring cloud分布式电商实战代码

    spring cloud分布式电商实战代码,并且对以下内容进行了详细笔记记录:maven聚合工程创建,消息总线,分库分表,全局异常处理,分布式session管理,ZK分布式锁,分布式ID生成,SKU概念和表设计,全文检索,缓存

    flink(java)笔记

    了解了基础概念后,可以尝试实现一些实战案例,如实时日志分析、流式数据聚合、实时推荐系统等,以加深对Flink的理解和应用。 以上内容涵盖了Flink Java API的基本使用和核心概念。在实际工作中,还需要结合具体...

    mama-buy:spring cloud分布式电商实战代码,并且对以下内容进行了详细笔记记录:maven聚合工程创建,消息总线,分库分表,全局异常处理,分布式session管理,ZK分布式锁,分布式ID生成,SKU概念和表设计,全文检索,缓存,下单扣减库存引起的超卖问题解决,幂等性问题,定时任务,redis事件通知,分布式事务解决方案等

    2020年04月12日更新:承蒙各位的厚爱,得到了130+的star,我倍感惊喜~不过这个项目我是存在很大的遗憾的,一直想重构下代码并且留下完整的笔记,也让一些联系我的朋友有点难以下手。但是我又担心没有此能力,会对...

Global site tag (gtag.js) - Google Analytics