目录
一、分模块设计与开发
1.1 分模块设计
1.2 分模块设计-实践编辑
1.2.1 复制老项目改为spring-boot-management
1.2.2 新建maven模块runa-pojo
1.2.2.1 将原项目pojo复制到runa-pojo模块
1.2.2.2 runa-pojo引入新依赖
1.2.2.3 删除原项目pojo包
1.2.2.4 在spring-boot-management(原项目)引入runa-pojo依赖
1.2.3 新建maven模块runa-utils
1.2.3.1 将原项目utils复制到runa-utils模块
1.2.3.2 runa-utils引入依赖
1.2.3.3 spring-boot-management删除依赖
1.2.3.4 删除原项目utils包
1.2.3.5 在spring-boot-management(原项目)引入runa-utils依赖
1.2.4 启动服务-测试
1.3 总结
二、继承与聚合
2.1 继承
2.1.1 新建父工程模块runa-parent
2.1.2 设置runa-parent打包方式为pom
2.1.3 设置runa-parent父工程未springboot
2.1.4 删除 runa-parent的src
2.1.5 修改spring-boot-management父工程为runa-parent
2.1.6 删除 spring-boot-management提示异常的标签
2.1.7 在runa-pojo与runa-utils设置父工程和删除
2.1.8 在父工程runa-parent配置共有依赖
2.2 继承实现总结
2.3 版本锁定
2.3.1 将runa-parent管理版本(子工程)
2.3.2 runa-utils依赖版本删除
2.3.3 自定义属性
2.3.3.1 runa-parent设置版本
2.3.3.2 总结
2.2 聚合
2.2.1 runa-parent添加
2.2.2 runa-parent maven生命周期进行打包等
2.3 总结
三、私服
3.1 介绍
3.2 资源上传与下载
3.3 私服配置
3.3.1 需要在 servers 标签中,配置访问私服的个人凭证(访问的用户名和密码)
3.3.2 在 mirrors 中只配置我们自己私服的连接地址(如果之前配置过阿里云,需要直接替换掉)
3.3.3 需要在 profiles 中,增加如下配置,来指定snapshot快照版本的依赖,依然允许使用
3.3.4 如果需要上传自己的项目到私服上,需要在项目的pom.xml文件中,增加如下配置,来配置项目发布的地址(也就是私服的地址)
3.3.5 发布项目,直接运行 deploy 生命周期即可 (发布时,建议跳过单元测试)
3.3.6 启动本地私服
3.4 上传maven生命周期-deploy
3.5 下载
前言:
分模块设计开发是一种软件开发方法论,它将一个大型的软件系统按照不同的功能模块进行划分,每个模块独立设计、独立开发、独立测试、独立部署和独立维护。这有助于降低整个系统的复杂度,提高系统的可维护性和可扩展性。
分模块设计开发一般包含以下步骤:
1. 确定系统的功能模块:将整个系统划分成多个不同的功能模块,如登录模块、订单模块、支付模块等。
2. 设计每个模块的接口:在每个模块内部,设计该模块与其他模块的接口,包括输入输出参数、数据结构等。
3. 各个模块的独立开发:分别对每个模块进行独立的开发,每个开发人员只负责一个模块。
4. 集成测试:在开发完成后,对各个模块进行集成测试,测试各个模块之间的接口是否正常,是否能够协同工作。
5. 系统测试:对整个系统进行测试,模拟实际运行环境下的各种场景,保证系统整体的稳定性和可用性。
6. 部署上线:将整个系统部署到线上环境中,进行实际的运行。
分模块设计开发的优点:
1. 降低系统复杂度:将整个系统分模块开发,让开发人员专注于模块间的关系和模块内的逻辑,从而降低系统复杂度。
2. 提高可维护性:每个模块独立开发,修改某个模块不影响其他模块的使用,方便维护和升级。
3. 提高可扩展性:如果需要增加新的功能,只需要增加一个新的模块,不会影响到其他模块的运行。
4. 提高开发效率:多个开发人员可以并行开发不同的模块,加快开发进度。
新建文件夹spring_boot_project01
将之前方面复制过来改成 spring-boot-management
打开项目spring-boot-management 使用Rename 修改启动类等
org.projectlombok
lombok
1.18.24
略
com.runa
runa-pojo
1.0-SNAPSHOT
io.jsonwebtoken
jjwt
0.9.1
com.aliyun.oss
aliyun-sdk-oss
3.15.1
javax.xml.bind
jaxb-api
2.3.1
javax.activation
activation
1.1.1
org.glassfish.jaxb
jaxb-runtime
2.3.3
org.springframework.boot
spring-boot-starter-web
3.1.2
org.projectlombok
lombok
1.18.24
io.jsonwebtoken
jjwt
0.9.1
com.aliyun.oss
aliyun-sdk-oss
3.15.1
javax.xml.bind
jaxb-api
2.3.1
javax.activation
activation
1.1.1
org.glassfish.jaxb
jaxb-runtime
2.3.3
略
com.runa
runa-utils
1.0-SNAPSHOT
pom
org.springframework.boot
spring-boot-starter-parent
3.1.2
略
com.runa
runa-parent
1.0-SNAPSHOT
../runa-parent/pom.xml
com.runa
将子工程共有的依赖剪切到父工程
io.jsonwebtoken
jjwt
0.9.1
com.aliyun.oss
aliyun-sdk-oss
3.15.1
javax.xml.bind
jaxb-api
2.3.1
javax.activation
activation
1.1.1
org.glassfish.jaxb
jaxb-runtime
2.3.3
org.springframework.boot
spring-boot-starter-web
3.1.2
io.jsonwebtoken
jjwt
com.aliyun.oss
aliyun-sdk-oss
javax.xml.bind
jaxb-api
javax.activation
activation
org.glassfish.jaxb
jaxb-runtime
org.springframework.boot
spring-boot-starter-web
UTF-8
1.18.24
org.projectlombok
lombok
${lombok.version}
其他依次设置
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.1.2
com.runa
runa-parent
1.0-SNAPSHOT
pom
runa-parent
http://maven.apache.org
UTF-8
1.18.24
0.9.1
3.15.1
2.3.1
1.1.1
2.3.3
3.1.2
junit
junit
3.8.1
test
org.projectlombok
lombok
${lombok.version}
io.jsonwebtoken
jjwt
${jjwt.version}
com.aliyun.oss
aliyun-sdk-oss
${aliyun.oss.version}
javax.xml.bind
jaxb-api
${jaxb.version}
javax.activation
activation
${activation.version}
org.glassfish.jaxb
jaxb-runtime
${jaxb.runtime.version}
org.springframework.boot
spring-boot-starter-web
${spring-boot-starter-web}
../runa-pojo
../runa-utils
../spring-boot-management
4.0.0
org.springframework.boot
spring-boot-starter-parent
3.1.2
com.runa
runa-parent
1.0-SNAPSHOT
pom
../runa-pojo
../runa-utils
../spring-boot-management
runa-parent
http://maven.apache.org
UTF-8
1.18.24
0.9.1
3.15.1
2.3.1
1.1.1
2.3.3
3.1.2
junit
junit
3.8.1
test
org.projectlombok
lombok
${lombok.version}
io.jsonwebtoken
jjwt
${jjwt.version}
com.aliyun.oss
aliyun-sdk-oss
${aliyun.oss.version}
javax.xml.bind
jaxb-api
${jaxb.version}
javax.activation
activation
${activation.version}
org.glassfish.jaxb
jaxb-runtime
${jaxb.runtime.version}
org.springframework.boot
spring-boot-starter-web
${spring-boot-starter-web}
私服配置说明
访问私服:http://192.168.150.101:8081
访问密码:admin/admin
下载地址
使用私服,需要在maven的settings.xml配置文件中,做如下配置:
maven-releases
admin
admin
maven-snapshots
admin
admin
maven-public
*
http://192.168.150.101:8081/repository/maven-public/
allow-snapshots
true
maven-public
http://192.168.150.101:8081/repository/maven-public/
true
true
maven-releases
http://192.168.150.101:8081/repository/maven-releases/
maven-snapshots
http://192.168.150.101:8081/repository/maven-snapshots/
1、解压: apache-maven-nexus.zip
2、进入目录: apache-maven-nexus\nexus-3.39.0-01\bin #(注意解压不要有中文路径)
3、启动服务:双击 start.bat
4、访问服务:localhost:8081
5、私服配置说明:将上述配置私服信息的 192.168.150.101 改为 localhost
新项目配置依赖
要验证下载,先将本地仓库的删除掉