分模块设计与开发

一、前言

在开发大型项目时,项目模块太多,不方便维护,其他项目不能复用我们编写的工具类。所以就有了项目分模块设计与开发

二、分模块设计

1.含义

将项目按照功能分成若干模块

2.进行分模块设计的原因

方便项目的管理维护、扩展,也方便模块间的相互调用,资源共享

3.注意事项

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

4.设计流程

1. 新建一个Maven项目作为父工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于父工程不需要代码编写所以删掉src,并且打包方式要设置为pom
在这里插入图片描述
在这里插入图片描述
三种打包方式:
jar:普通模块打包,springboot项目基本都是jar包(内嵌tomcat运行)
war:普通web程序打包,需要部署在外部的tomcat服务器中运行
pom:父工程或聚合工程,该模块不写代码,仅进行依赖管理

2. 在父工程untitled项目中根据功能新建子工程模块

例如:工具类模块、实体类模块、某业务功能模块
在这里插入图片描述
父项选择untitled
在这里插入图片描述
在这里插入图片描述

三、Maven模块之间的继承、版本锁定和聚合

1. 继承

  • 继承就是把子工程共有的依赖放到到父工程中,防止每个子工程都要导入一遍一样的依赖,不方便依赖的管理和升级版本

  • 作用:简化依赖配置、统一管理依赖

  • 实现:

    <parent> ... </parent>`
    
  • 因为项目是基于spring开发的每个模块都有一个父工程,那么就需要在untitled父工程上加上,而其他子工程会继承他的配置

        <parent>
            <artifactId>spring-boot-starter-parent</artifactId>
            <groupId>org.springframework.boot</groupId>
            <version>2.7.3</version>
        </parent>
    
  • 如果在子工程创建时选择了父工程那么就不再需要设置,子工程pom文件会自动的带上
    在这里插入图片描述

  • 实现继承关系后就可以在父工程中配置各个工程共有的依赖(子工程会自动继承父工程的依赖)

  • 若父子工程都配置了同一个依赖的不同版本,以子工程的为准。

2.版本锁定

  • 作用:为了统一管理各个依赖的版本
  • 实现:在maven中,可以在父工程的pom文件中通过来统一管理依赖版本
  • 子工程引入依赖时,无需指定〈version>版本号,父工程统一管理。变更依赖版本,只需在父工程中统一变更。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.聚合

在这里插入图片描述
在这里插入图片描述

4. 继承与聚合

在这里插入图片描述

四、私服

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

1.使用私服的原因

  • 为了各个项目组之间能够共享自己编写的依赖,即团队之间资源的共享
  • 设立私服后依赖的查找顺序:本地仓库、私服、中央仓库

2.资源上传和下载

  • 上传资源时要先把资源下载到本地仓库
    在这里插入图片描述
  • 使用私服,需要在maven的settings.xmi配置文件中,做如下配置:
  1. 需要在servers标签中,配置访问私服的个人凭证(访问的用户名和密码)
    <!-- releases仓库-->
    <server>
        <id>maven-releases</id>
        <username>admin</username>
        <password>admin</password>
    </server>
	<!-- snapshots仓库-->
    <server>
        <id>maven-snapshots</id>
        <username>admin</username>
        <password>admin</password>
    </server>
  1. 在mirrors只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉)
	<mirror>
    	<id>maven-public</id>
    	<mirrorOf>*</mirrorOf>
   	    <url>http://192.168.150.101:8081/repository/maven-public/</ur1>
	</mirror>
  1. 需要在profiles 中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用
  <profile>
        <id>allow-snapshots</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
    <repositories>
        <repository>
            <id>maven-public</id>
            <url>http://192.168.150.101:8081/repository/maven-public/</url>
           	<!-- releases仓库-->
            <releases>
                <enabled>true</ enabled>
            </releases>
            <!-- snapshots仓库-->
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            
        </repository>
    </repositories>
    </profile>
 
 
  1. 如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址)
 	<distributionManagement>
        <!-- release版本的发布地址-->
        <repository>
            <id>maven-releases</id>
            <url>http://192.168.150.101:8081/repository/maven-releases/</url>
        </repository>

        <!-- snapshot版本的发布地址-->
        <snapshotRepository>
            <id>maven-snapshots</id>   
            <url>http://192.168.150.101:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
        
    </distributionManagement>
  1. 发布项目,直接运行deploy生命周期即可(发布时,建议跳过单元测试)
  • 启动本地私服
    在这里插入图片描述
  • 22
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值