一.Maven回顾
Maven是一款构建和管理java项目的工具。
如果我们需要开发一些中大型的项目,仅凭基础知识难以应付,所以我们接下来还需要学习Maven提供的一些高级功能,这些功能在中大型项目应用是非常多的。
Maven的高级内容包括:【1】分模块设计与开发【2】继承与聚合【3】私服
二.分模块设计与开发
1.介绍
指的是我们在设计一个java项目的时候,将一个java项目拆分成多个模块进行开发。
2.未分模块设计的问题:
【1】不方便项目的维护和管理
假如我们开发的是一个大型的电商项目,里面可能就包括了商品模块的功能、搜索模块的功能、购物车模块、订单模块、用户中心等等。这些所有的业务代码我们都在一个 Java 项目当中编写。项目当中的业务功能可能会越来越多,这时候需要进一步的分类。
另外大家可以试想一下,假如我们开发的是一个大型的电商网站,这个项目组至少几十号甚至几百号开发人员,这些开发人员如果全部操作这一个 Java 项目,此时大家就会发现我们项目管理和维护起来将会非常的困难。
【2】项目的通用组件难以利用
假如在我们的项目当中,我们自己定义了一些通用的工具类和组件,而公司还有其他的项目组也想使用我们所封装的这些组件和工具类,是非常不方便的。因为 Java 项目当中包含了当前项目的所有业务代码,所以就造成了这里面所封装的一些组件会难以复用。
【3】影响性能和不安全
另外,没有拆分模块设计,直接将这个项目都依赖进来,项目在启动时将会把所有的类都加载进来,会影响性能,同时也意味着我们所有的业务代码都对用公开了,这是非常不安全的。
所以我们要进行分模块设计。例如:
如果我们需要用到另外一个模块的功能,我们直接依赖模块就可以了。
分模块设计就是将项目按照功能/结构拆分成若干个子模块,方便项目的管理维护、拓展,也方便模块键的相互调用、资源共享。
3.实现(比如说要将com.itheima.pojo包拆分出去)
【1】新建一个正常的Maven模块(例如命名为tlias-pojo,它会叫你填写该模块的坐标信息)
【2】在这个tlias-pojo模块中创建一个包com.itheima.pojo(和原来案例项目中的pojo包名一致)
【3】并在这个包中编写对应的文件和代码(注意:这个tlias-pojo模块中也要在其对应的pom.xml中引入代码所需库的对应的依赖,就像c++的分文件编写一样,每个文件也要引入对应的头文件)
【4】在原来的项目中引入tlias-pojo的依赖(或者说是坐标),如果原来项目中含有com.itheima.pojo包要删除。
(注:分模块编写一般需要先对模块功能进行设计,再进行编码,不会先将工程开发完毕,然后进行拆分)