外贸网站建设 全球搜,wordpress网页后台,如何做一个好网站,东莞网站托管公司目录
一、分模块开发与设计
1. 分模块开发的意义
2. 分模块开发#xff08;模块拆分#xff09; #xff08;1#xff09;创建Maven模块 #xff08;2#xff09;书写模块代码 #xff08;3#xff09;通过maven指令安装模块到本地仓库#xff08;install指令模块拆分 1创建Maven模块 2书写模块代码 3通过maven指令安装模块到本地仓库install指令
二、依赖管理
1. 依赖传递
2. 可选依赖
3. 排除依赖
4. 可选依赖和排除依赖的区别 三、聚合与继承
1. 聚合工程 2. 聚合工程开发
1创建Maven模块设置打包类型为pom
2 设置当前聚合工程所包含的子模块名称
3. 继承关系 4. 继承关系开发
1创建Maven模块设置打包类型为pom
2在父工程的pom文件中配置依赖关系子工程将沿用父工程中的依赖关系
3配置子工程中可选的依赖关系
4在子工程中配置当前工程所继承的父工程
5在子工程中配置使用父工程中可选依赖的坐标
5. 聚合与继承的区别
1聚合和继承的作用
2聚合和继承的相同点
3聚合和继承的不同点
四、属性管理
1. 属性 1属性配置与使用
①定义属性
②引用属性
2资源文件引用属性
①定义属性
②配置文件中引用属性
③开启资源文件目录加载属性的过滤器
④配置maven打war包时忽略web.xml检查
3其他属性了解 2. 版本管理
1工程版本
a. SNAPSHOT快照版本
b. RELEASE发布版本 2发布版本
a. alpha版
b. beta版
c. 纯数字版
五、多环境配置与应用
1. 多环境配置作用 2. 多环境配置步骤
1定义多环境
2使用多环境构建过程
2. 跳过测试了解
1应用场景
2 跳过测试命令
3细粒度控制跳过测试
六、私服
1. 私服介绍
2Nexus安装与启动 3私服资源操作流程分析
2. 私服仓库分类 3. 资源上传与下载 1从私服中下载依赖 2上传依赖到私服中 一、分模块开发与设计
1. 分模块开发的意义 模块拆分原则项目的扩展性变强了方便其他项目引用相同的功能。 将原始模块按照功能拆分成若干个子模块方便模块间的相互调用接口共享 2. 分模块开发模块拆分
1创建Maven模块 2书写模块代码
注意事项 分模块开发需要先针对模块功能进行设计再进行编码。不会先将工程开发完毕然后进行拆分
3通过maven指令安装模块到本地仓库install指令
mvn install
注意事项 团队内部开发需要发布模块功能到团队内部可共享的仓库中私服
二、依赖管理
依赖管理指当前项目运行所需的jar一个项目可以设置多个依赖
格式
!--设置当前项目所依赖的所有jar--
dependencies!--设置具体的依赖--dependency!--依赖所属群组id--groupIdorg.springframework/groupId!--依赖所属项目id--artifactIdspring-webmvc/artifactId!--依赖版本号--version5.2.10.RELEASE/version/dependency
/dependencies
1. 依赖传递
A依赖BB依赖CA是否依赖于C呢依赖
依赖具有传递性 直接依赖在当前项目中通过依赖配置建立的依赖关系 间接依赖被资源的资源如果依赖其他资源当前项目间接依赖其他资源 特殊优先当同级配置了相同资源的不同版本后配置的覆盖先配置的
2. 可选依赖
A依赖BB依赖C如果A不想将C依赖进来是否可以做到可以
可选依赖指对外隐藏当前所依赖的资源————不透明
dependencygroupIdcom.itheima/groupIdartifactIdmaven_03_pojo/artifactIdversion1.0-SNAPSHOT/version!--可选依赖是隐藏当前工程所依赖的资源隐藏后对应资源将不具有依赖传递性--optionalfalse/optional
/dependency
3. 排除依赖
A依赖BB依赖C如果A不想将C依赖进来是否可以做到可以
1排除依赖指主动断开依赖的资源被排除的资源无需指定版本————不需要
2排除依赖资源仅指定GA即可无需指定V
dependencygroupIdcom.itheima/groupIdartifactIdmaven_04_dao/artifactIdversion1.0-SNAPSHOT/version!--排除依赖是隐藏当前资源对应的依赖关系--exclusionsexclusiongroupIdlog4j/groupIdartifactIdlog4j/artifactId/exclusionexclusiongroupIdorg.mybatis/groupIdartifactIdmybatis/artifactId/exclusion/exclusions
/dependency
4. 可选依赖和排除依赖的区别 三、聚合与继承
1. 聚合工程
什么叫聚合
聚合将多个模块组织成一个整体同时进行项目构建的过程称为聚合
聚合工程通常是一个不具有业务功能的”空“工程有且仅有一个pom文件
作用 a. 使用聚合工程可以将多个工程编组通过对聚合工程进行构建实现对所包含的模块进行同 步构建 b.当工程中某个模块发生更新变更时必须保障工程中与已更新模块关联的模块同步更新 此时可以使用聚合工程来解决批量模块同步构建的问题 2. 聚合工程开发
1创建Maven模块设置打包类型为pom
packagingpom/packaging
注意事项 每个maven工程都有对应的打包方式默认为jarweb工程打包方式为war
2 设置当前聚合工程所包含的子模块名称
modulesmodule../maven_ssm/modulemodule../maven_pojo/modulemodule../maven_dao/module
/modules
注意事项 a. 聚合工程中所包含的模块在进行构建时会根据模块间的依赖关系设置构建顺序与聚合工程中模块的配置书写位置无关。 b. 参与聚合的工程无法向上感知是否参与聚合只能向下配置哪些模块参与本工程的聚合。
3. 继承关系
1什么叫继承 概念 继承描述的是两个工程间的关系与java中的继承相似子工程可以继承父工程中的配 置信息常见于依赖关系的继承 作用 简化配置 减少版本冲突 4. 继承关系开发
1创建Maven模块设置打包类型为pom
packagingpom/packaging
注意事项 建议父工程打包方式设置为pom
2在父工程的pom文件中配置依赖关系子工程将沿用父工程中的依赖关系
dependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.2.10.RELEASE/version/dependency
……
/dependencies
3配置子工程中可选的依赖关系
dependencyManagementdependenciesdependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactIdversion1.1.16/version/dependency
……/dependencies
/dependencyManagement
4在子工程中配置当前工程所继承的父工程
!--定义该工程的父工程--
parentgroupIdcom.itheima/groupIdartifactIdmaven_parent/artifactIdversion1.0-SNAPSHOT/version!--填写父工程的pom文件根据实际情况填写--relativePath../maven_parent/pom.xml/relativePath
/parent
5在子工程中配置使用父工程中可选依赖的坐标
dependenciesdependencygroupIdcom.alibaba/groupIdartifactIddruid/artifactId/dependency
/dependencies
注意事项 a. 子工程中使用父工程中的可选依赖时仅需要提供群组id和项目id无需提供版本版本由父工程统一提供避免版本冲突 b. 子工程中还可以定义父工程中没有定义的依赖关系
5. 聚合与继承的区别
1聚合和继承的作用 a. 聚合用于快速构建项目 b. 继承用于快速配置
2聚合和继承的相同点 a. 聚合与继承的pom.xml文件打包方式均为pom可以将两种关系制作到同一个pom文件中 b. 聚合与继承均属于设计型模块并无实际的模块内容
3聚合和继承的不同点 a. 聚合是在当前模块中配置关系聚合可以感知到参与聚合的模块有哪些 b. 继承是在子模块中配置关系父模块无法感知哪些子模块继承了自己
四、属性管理
1. 属性 1属性配置与使用
①定义属性
!--定义自定义属性--
propertiesspring.version5.2.10.RELEASE/spring.versionjunit.version4.12/junit.version
/properties
②引用属性
dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion${spring.version}/version
/dependency
2资源文件引用属性
①定义属性
!--定义自定义属性--
propertiesspring.version5.2.10.RELEASE/spring.versionjunit.version4.12/junit.versionjdbc.urljdbc:mysql://127.0.0.1:3306/ssm_db/jdbc.url
/properties
②配置文件中引用属性
jdbc.drivercom.mysql.jdbc.Driver
jdbc.url${jdbc.url}
jdbc.usernameroot
jdbc.passwordroot
③开启资源文件目录加载属性的过滤器
buildresourcesresourcedirectory${project.basedir}/src/main/resources/directoryfilteringtrue/filtering/resource/resources
/build
④配置maven打war包时忽略web.xml检查
plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-war-plugin/artifactIdversion3.2.3/versionconfigurationfailOnMissingWebXmlfalse/failOnMissingWebXml/configuration
/plugin
3其他属性了解 2. 版本管理
1工程版本
a. SNAPSHOT快照版本 项目开发过程中临时输出的版本称为快照版本 快照版本会随着开发的进展不断更新
b. RELEASE发布版本 项目开发到进入阶段里程碑后向团队外部发布较为稳定的版本这种版本所对应的构件文件是稳定的 即便进行功能的后续开发也不会改变当前发布版本内容这种版本称为发布版本 2发布版本
a. alpha版 b. beta版 c. 纯数字版
五、多环境配置与应用
1. 多环境配置作用 maven提供配置多种环境的设定帮助开发者使用过程中快速切换环境 2. 多环境配置步骤
1定义多环境
!--定义多环境--
profiles!--定义具体的环境生产环境--profile!--定义环境对应的唯一名称--idenv_dep/id!--定义环境中专用的属性值--propertiesjdbc.urljdbc:mysql://127.0.0.1:3306/ssm_db/jdbc.url/properties!--设置默认启动--activationactiveByDefaulttrue/activeByDefault/activation/profile!--定义具体的环境开发环境--profileidenv_pro/id
……/profile
/profiles
2使用多环境构建过程
【命令】
mvn 指令 –P 环境定义id【范例】
mvn install –P pro_env
2. 跳过测试了解
1应用场景 功能更新中并且没有开发完毕 快速打包 ……
2 跳过测试命令 mvn install –D skipTests 注意事项 执行的项目构建指令必须包含测试生命周期否则无效果。例如执行compile生命 周期不经过test生命周期。
3细粒度控制跳过测试
pluginartifactIdmaven-surefire-plugin/artifactIdversion2.22.1/versionconfigurationskipTeststrue/skipTests!--设置跳过测试--includes!--包含指定的测试用例--include**/User*Test.java/include/includesexcludes!--排除指定的测试用例--exclude**/User*TestCase.java/exclude/excludes/configuration
/plugin
六、私服
1. 私服介绍 1私服是一台独立的服务器用于解决团队内部的资源共享与资源同步问题 Nexus Sonatype公司的一款maven私服产品 下载地址https://help.sonatype.com/repomanager3/download 2Nexus安装与启动 3私服资源操作流程分析 2. 私服仓库分类 3. 资源上传与下载 1从私服中下载依赖
【第一步】在maven的settings.xml中mirrors标签中配置此时就需要注释掉aliyun的配置。
mirroridnexus-heima/idmirrorOf*/mirrorOfurlhttp://localhost:8081/repository/maven-public//url
/mirror 【第二步】在nexus中设置允许匿名下载如果不允许将不会从私服中下载依赖 如果私服中没有对应的jar会去中央仓库下载速度很慢。可以配置让私服去阿里云中下载依赖。 2上传依赖到私服中
【第一步】配置本地仓库访问私服的权限在maven的settings.xml的servers标签中配置
server!--id任意多个server的id不重复就行后面会用到--idheima-nexus/idusernameadmin/usernamepassword123456/password!--填写自己nexus设定的登录秘密--
/server
【第二步】配置当前项目访问私服上传资源的保存位置项目的pom.xml文件中配置
distributionManagementrepository!--和maven/settings.xml中server中的id一致表示使用该id对应的用户名和密码--idheima-nexus/id!--如果jar的版本是release版本那么就上传到这个仓库根据自己情况修改--urlhttp://localhost:8081/repository/heima-releases//url/repositorysnapshotRepository!--和maven/settings.xml中server中的id一致表示使用该id对应的用户名和密码--idheima-nexus/id!--如果jar的版本是snapshot版本那么就上传到这个仓库根据自己情况修改--urlhttp://localhost:8081/repository/heima-snapshots//url/snapshotRepository
/distributionManagement
注意要和maven的settings.xml中server中定义的idheima-nexus/id对应
【第三步】发布资源到私服命令
mvn deploy