当前位置: 首页 > news >正文

做暧暧暧昧网站电脑培训班价目表

做暧暧暧昧网站,电脑培训班价目表,wordpress智能插件,可以做免费推广的网站在Maven项目中通常会引入大量依赖#xff0c;但依赖管理不当#xff0c;会造成版本混乱冲突或者目标包臃肿。因此#xff0c;我们以SpringBoot为例#xff0c;从三方面探索依赖的使用规则。 1、 依赖传递 依赖是会传递的#xff0c;依赖的依赖也会连带引入。例如在项目中…在Maven项目中通常会引入大量依赖但依赖管理不当会造成版本混乱冲突或者目标包臃肿。因此我们以SpringBoot为例从三方面探索依赖的使用规则。 1、 依赖传递 依赖是会传递的依赖的依赖也会连带引入。例如在项目中引入了spring-boot-starter-web依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion2.7.18/version /dependency 那么业务项目不仅直接引入了spring-boot-starter-web依赖还间接引入了spring-boot-starter-web的依赖项 spring-boot-starter、spring-boot-starter-json、spring-boot-starter-tomcat、spring-web、spring-webmvc。 Maven依赖关系如下图所示 其中spring-boot-starter-web是直接依赖spring-boot-starter-web的依赖项spring-boot-starter、spring-boot-starter-json、spring-boot-starter-tomcat、spring-web、spring-webmvc为间接依赖。 2、依赖管理 2.1、dependencyManagement maven中的dependencyManagement节点主要用来统一管理依赖项的版本号。如果依赖中未指定版本号则采用dependencyManagement引入的pom文件中的版本号。dependencyManagement只用来指定依赖的版本不会真正引入依赖。 假如pom文件中引入了如下依赖   dependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion3.3.1/versionscopeimport/scope/dependency/dependencies /dependencyManagement 那么在引入具体依赖时可以不指定版本号 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency 此时 spring-boot-starter-web会自动引入spring-boot-dependencies中指定的版本号3.3.1 2.2、parent Maven 借鉴了面向对象中的继承思想提出了 POM 继承思想。一个项目可通过继承父模块的 POM 来获得对相关依赖的声明。其目的是为了消除子模块 POM 中的重复配置其中不包含有任何实际代码因此父模块 POM 的打包类型packaging必须是 pom。 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.18/version /parent 此时对于spring-boot-starter-web依赖会自动引用spring-boot-starter-parent中指定的版本号2.7.18 2.3、dependency 对于普通的依赖大家用的最多的也便是这种在声明依赖时直接指定版本号 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdversion2.6.15/version /dependency 这种方式最直观但依赖过多时不便于统一管理。  2.4、依赖优先级 如果我们将上述三种方式混合使用放在同一个项目中且指定了不同的版本号会产生什么效果呢 先展示结果如下图 可以看到直接依赖spring-boot-starter-web的版本为2.6.15但间接依赖spring-******的版本均为2.7.18。所以结论如下 优先级dependence指定版本 parent指定版本 dependencyManagement指定版本 dependence指定版本仅限于直接依赖的版本间接依赖仍然采用parent所指定的版本dependencyManagement指定的版本最次之。 3、 依赖作用域 在Maven中可以使用scope来指定当前依赖项的作用域常见的值有compile、provided、runtime、test、import等。 3.1 compile compile也是默认的作用域如果引入依赖时没有明确指定作用域则依赖作用域为compile。 compile作用域的依赖在编译、测试和运行时均有效并参与项目的打包过程该依赖会传递给依赖该模块的其他模块。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactIdversion2.6.15/versionscopecompile/scope /dependency 3.2 provided provided作用域的依赖仅在编译和测试时有效在运行时不可用且不会参与项目的打包过程也不会传递给引用项目。 例如Lombok模块仅用于编译时生成相应的Contructor、Getter、Setter、ToString等方法但在运行时并不需要这个依赖因此通常指定为provided打包后的目标文件中也不包含该依赖 dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdscopeprovided/scope /dependency 3.3 runtime runtime作用域的依赖在测试和运行时是可用的但在编译时是不可用的也会参与项目的打包过程其依赖传递给引用该模块的项目。 runtime作用域的模块在编译时不可用就说明该引用中的类在java代码中也不能直接使用否则无法编译通过。 例如mysql数据库驱动在代码中不需要直接调用代码通常使用mybatis或者java.sql包下的类。因此引入依赖时通常指定为runtime在运行时该驱动包直接注册到程序中 dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.33/versionscoperuntime/scope /dependency 3.4 test test作用域的依赖仅在测试时可用测试代码的编译和执行其不会参与项目的打包过程也不会传递给其他模块。 这些依赖中的类只能在src/test/java中使用无法用于src/main/java中的代码。 测试相关的均属于此类比如spring-boot-starter-test、junit等 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope /dependency 3.5 import 每个项目一般都会继承自一个父项目这个父项目可能是公司的一个基础项目也可能是一个框架项目比如开头提到的springboot parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.18/version /parent 这个父项目中父项目的父项目是spring-boot-dependenciesspring-boot-dependencies中会使用dependencyManagement标签对依赖项的版本统一管理子项目中可以按需引入dependencyManagement中依赖即可可以省略版本号。 但是Maven最多只能有一个parent项目如果把所有的dependencyManagement都加入到parent项目中又会导致parent项目太臃肿依赖杂乱不好管理。因此import作用域便可以解决这个问题。import可以通过非继承的方式批量引入另一个依赖项中。 说明scopeimport/scope只能用在dependencyManagement下type为pom的dependency中。 3.6 作用域总结 作用域编译时测试时运行时打包时传递性compile√√√√√provided√√×××runtime×√√√√test×√×××import√√×××
http://www.w-s-a.com/news/874010/

相关文章:

  • 学校建设外文网站情况阿里云 建设网站怎么样
  • 网站建设与网页设计制作深圳网站建设首选上榜网络
  • 网站浏览成交指标计算机应用是做什么的
  • 企业网站建设的要求wordpress 404页面模板
  • 公司怎么注册官方网站wordpress花园网站
  • 一般网站的建设步骤有哪些企业网站建设应该注意什么事项问题
  • 枣庄市建设局网站建设工程合同交底的内容包括
  • 全国十大跨境电商排名seo优化入门教程
  • 福安网站开发网站内容建设要求age06
  • 网站开发制作公司罗湖在线
  • 做网站银川潍坊网络科技有限公司
  • 南宁企业网站建站模板盐田高端网站建设
  • 深圳市建设局网站张局北京档案馆网站建设
  • 运动健身型网站开发网站备案掉了什么原因
  • 网站开发的前后端是什么注册网站多少钱一年
  • 彩票网站建设需要什么网站未备案被阻断怎么做
  • wordpress 版权声明网站优化排名哪家性价比高
  • dedecms网站关键词外包做网站平台 一分钟
  • 酒网站建设游戏分类网站怎么做
  • 仿牌网站安全北京大良网站建设
  • ps中怎样做网站轮播图片吉林省网站建设公司
  • 广西网站建设-好发信息网温江做网站哪家好
  • 网站建设属于什么职位类别南京哪个网站建设比较好
  • wdcp 网站备份东莞网站建设五金建材
  • 天津制作网站的公司电话wordpress架设进出销
  • tomcat做静态网站prestashop和wordpress
  • 上海响应式建站wap网站微信分享代码
  • 四川建筑人才招聘网南昌网站优化
  • 南充网站建设制作重庆有的设计网站大全
  • 深圳沙井做网站公司网站搭建谷歌seo