项目架构设计与聚合项目搭建

对于传统系统的开发,系统集中与一起, 模块间的耦合度太高,一个模块升级,全部模块都需要升级,也不能进行分布式的部署。

把系统按模块拆分成多个子系统,使用接口进行通信/消息队列,降低模块之间的耦合度。同时把项目拆分为不同的模块,不同的小组可以负责不同的子项目。增加功能只有再增加一个子项目就可,可以灵活的进行分布式的部署。

代码语言:javascript
复制
|--project-parent  (pom)
     |--project-common   (jar)
     |--project-manager   (pom)
        |--com.project.manager.web  (war)
        |--com.project.manager.service (jar)
        |--com.project.manager.mapper  (jar)
        |--com.project.manager.pojo    (jar)

parent项目 主要负责jar包的版本与仓库的统一管理,整个项目都依赖与parent项目

common项目 主要负责对项目中需要的通用组件,工具进行管理

manager项目 主要用于管理整个后台项目

其他模块全部继承manager项目

在整个项目中manager为主要项目,要运行manager需要先安装其依赖的项目,就是把依赖打包为jar安装到本地。

pom、jar、war的区别

1.pom工程:用在父级工程或聚合工程中。用来做版本控制。

2.war工程:将会打包成war,发布在服务器上的工程。如网站或服务。

3.jar工程:将会打包成jar用作jar包使用。

项目管理

首先在gitLab上创建 .gitignore文件,这样提交项目的时候就可以直接提交了,把无用的配置文件直接忽略。

代码语言:javascript
复制
touch .gitignore

##ignore this file##
/target/

.classpath
.project
.settings

提交代码之前,需先从服务器上面拉取代码,以防覆盖别人代码。

  1. 拉取
代码语言:javascript
复制
git pull
  1. 查看状态
代码语言:javascript
复制
git status

3.提交至缓存

代码语言:javascript
复制
git add + 文件
git add -u + 路径:将修改过的被跟踪代码提交缓存
git add -A + 路径: 将修改过的未被跟踪的代码提交至缓存
  1. 提交到本地仓库
代码语言:javascript
复制
git commit -m “注释部分 ref T3070”

5.推送到服务器

代码语言:javascript
复制
git push

svn

1、将文件checkout到本地

代码语言:javascript
复制
svn checkout path(path是服务器的目录)

例如 :svn checkout svn://192.168.1.1/pro/domain

2、往版本库中添加新的文件

代码语言:javascript
复制
svn add filename

例如:svn add test.cpp

3、将改动的文件提交到版本库

代码语言:javascript
复制
svn commit -m "注释" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)

例如:svn commit -m "注释" test.cpp

简写:svn ci

4、加锁/解锁

代码语言:javascript
复制
svn lock -m "注释" path

例如: svn lock -m "注释" test.cpp

代码语言:javascript
复制
svn unlock path

5、更新到某个版本

代码语言:javascript
复制
svn update -r 版本号 path

svn update 更新当前目录以及子目录下的所有文件到最新版本

svn upate -r 200 test.cpp 将版本库中的test.cpp还原到版本200

简写 svn up