JavaWeb回顾与小结(八)

发布时间 2023-07-11 19:55:34作者: zFlame_5020

分模块设计与开发

介绍

将项目按照功能拆分成若干个子模块,方便项目管理维护,扩展,也方便模块间的互相调用,资源共享

分模块开发的好处

  • 增强代码的复用性:一些通用的工具类,实体类可以抽取到独立的模块,进行重用
  • 便于分工:按业务划分模块可以让开发人员编写代码更为独立,互不干扰
  • 对maven项目来讲,一些通用的依赖,插件,可以抽取到父模块,简化配置

分模块开发步骤

  • 创建父模块
  • 创建子模块
  • 配置模块间的依赖

实现

注意事项:分模块开发需要先针对模块功能进行设计,再进行编码.不会先将工程开发完毕,然后进行拆分

父工程的打包方式是什么

pom
父工程打包方式,该模块不写代码,仅进行项目管理
jar
普通模块打包,springboot项目基本都是jar包(内嵌tomcat运行)
war
普通web程序打包,需要部署在外部的tomcat服务器中运行

聚合与继承

聚合

在父模块pom.xml中使用module标签统一管理子模块叫做聚合

好处是通过父模块能够快速构建(清理,编译,打包)多个子模块

注意

聚合工程中所包含的模块,在构建时,会自动根据模块间的依赖关系设置构建顺序,与聚合工程中模块的配置书写位置无关

继承

概念

继承描述的是两个工程间的关系,与java中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承

作用

简化依赖配置,统一管理依赖

实现

在子模块pom.xml中使用标签指定要继承的父模块

不同点

  • 聚合是在父模块中配置关系,父模块可以感知到参与聚合的子模块有哪些
  • 继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

版本锁定

在maven中,可以在父工程的pom文件中通过<dependencyManagement>来统一管理依赖版本

注意事项

子工程引入依赖时,无需指定<version>版本号,父工程统一管理.变更依赖版本,秩序在父工程中统一变更

使用<dependencyManagement>定义的依赖是把这个依赖导进来了吗

  • 不是,仅仅只是声明/锁定了依赖的版本
  • 好处:子模块在使用这个依赖的时候不需要再定义版本号,由父模块统一管理依赖的版本

<dependencyManagement><dependencies>的区别是什么

  • 是导入依赖,在父工程配置了依赖,子工程会直接继承下来
  • 是统一管理依赖版本,不会导入依赖,还需要在子工程中引入所需依赖(无需指定版本)

属性与版本号

版本号

我们开发的每一个项目都会有一个版本号,后期随着项目的升级,版本号都会随之变化

SNAPSHOT(快照版本)

项目开发过程中的临时性版本叫快照版本也叫开发版本,快照版本会随着开发的进展不断更新

RELEASE(发布版本)

也叫稳定版本,这种版本所对应的代码是稳定的,即便进行功能的后续开发,也不会改变当前发布版本的内容,这种版本称为发布版本,将来用于上面上线

预定规范

规范

<主版本>.<次版本>.<增量版本>-<里程碑版本>

主版本

表示项目重大架构的变更,如spring5相较于spring4的迭代

次版本

表示有较大的功能增加和变化,或者全面系统的修复漏洞

增量版本

表示有个别漏洞的修复

里程碑版本

表明一个版本的里程碑,例如RELEASE,SNAPSHOT,beta

拆分项目,实现分模块开发

步骤

  1. 让tlias-parent父模块继承spring-boot-starter-parent,配置要继承的依赖,版本锁定,属性
  2. 将原项目中相关代码和依赖拷贝到tlias-pojo和tlias-utils子模块中,使其编译不报错
  3. 将原项目中相关代码,依赖,插件拷贝到tlias-web-management子模块中,使其编译不报错
  4. 运行tlias-web-management中的启动类,运行nginx,访问项目

私服

介绍和搭建

私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,用来代理位于外部的中央仓库,用于解决团队内部的资源共享与资源同步问题

依赖查找顺序

本地仓库->私服->中央仓库

注意事项

私服在企业项目开发中,一个项目/公司,只需要一台即可(无需我们自己搭建,会使用即可)

内部仓库分类

宿主仓库hosted

保存无法从中央仓库获取的资源
公司自主研发项目,第三方非开源项目

代理仓库proxy

和中央仓库打交道的仓库,代理远程仓库,通过nexus访问其他公共仓库

仓库组group

将若干个仓库组成一个群组,仓库组不能保存资源,属于设计型仓库

从私服下载jar

在项目的pom.xml文件中配置私服仓库组的地址即可

上传jar至私服

  • 设置私服的访问用户名/密码(settings.xml中的servers中配置)
  • maven工程的pom文件中配置上传(发布)的私服地址
  • 在idea中双击deploy发布项目