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

空调网站模版互联网营销师培训内容

空调网站模版,互联网营销师培训内容,wordpress 企业站主题,网页设计与制作(第3版)书籍1 概述 搭建的工程例子中&#xff0c;指定了spring-boot的spring-boot-starter-parent作为<parent>&#xff0c;然后在依赖中指定了spring-boot-starter依赖&#xff0c;里面没有指定版本&#xff0c;也没看到有指定核心Spring&#xff0c;却能够正常运行&#xff0c;这…

1 概述

搭建的工程例子中,指定了spring-boot的spring-boot-starter-parent作为<parent>,然后在依赖中指定了spring-boot-starter依赖,里面没有指定版本,也没看到有指定核心Spring,却能够正常运行,这是如何工作的?

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.18.RELEASE</version><relativePath/>
</parent>
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>
</dependencies>

2 依赖原理

2.1 找依赖的方法

每个依赖都有和节点,把节点和节点的信息使用/(正斜线)拼接起来,如果有点分割的地方,点也换成/(正斜线)。

然后在前面加上 https://repo.maven.apache.org/maven2/ 仓库链接,这样就可以找到这个依赖包的版本列表。选一个版本进去,找xxx.pom文件,可从里面看到该依赖包依赖了哪些其它依赖包。

比如:Springboot的包groupId为org.springframework.boot,artifactId为spring-boot-starter,那么先把org.springframework.boot转成/org/springframework/boot,在接上artifactId得/org/springframework/boot/spring-boot-starter,在前面加上仓库域名得:https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter

如果是在IDE里,也可以直接点击对应的包,如果IDE支持的话,也可以直接跳转到依赖的pom文件上。

2.2 spring-boot-starter-parent管理依赖

在 https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-parent/2.7.18/spring-boot-starter-parent-2.7.18.pom 找到一个版本的pom文件,看看spring-boot-starter-parent依赖了哪些包:

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.7.18</version>
</parent>
<artifactId>spring-boot-starter-parent</artifactId>

可以看到,里面也指定了<parent>节点,但没有<dependencies>节点,也就是说依赖应该来源于<parent>里的spring-boot-dependencies。

同样的方式找到spring-boot-dependencies的pom文件:https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-dependencies/2.7.18/spring-boot-dependencies-2.7.18.pom

<properties><spring-framework.version>5.3.31</spring-framework.version>
</properties>
<dependencyManagement><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-framework-bom</artifactId><version>${spring-framework.version}</version><type>pom</type><scope>import</scope></dependency><!-- 省略其它依赖 --></dependencies>
</dependencyManagement>

 里面有个<dependencyManagement>节点,这个是Maven用来管理依赖,把所有需要用到的依赖在这个节点管理起来,配置好依赖的版本,在这管理的依赖并不是马上就使用了,到了具体的pom.xml文件再挑需要使用的依赖,在真正使用依赖的时候不需要再指定版本。这样管理还有个好处就是统一版本,减少版本冲突。

在里面还是没有看到Spring的具体依赖包,但有个spring-framework-bom。再次用同样的办法找到该依赖的pom文件:https://repo.maven.apache.org/maven2/org/springframework/spring-framework-bom/5.3.31/spring-framework-bom-5.3.31.pom

<dependencyManagement><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>5.3.31</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>5.3.31</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>5.3.31</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.31</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.3.31</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>5.3.31</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.31</version></dependency><!-- 省略其它依赖 --></dependencies>
</dependencyManagement>

在这里就能够看到Spring提供的各种各样的依赖。同样,这些依赖还是在<dependencyManagement>节点中,只是纳入了管理,并没有真正使用。

2.3 spring-boot-starter使用依赖

在例子中的pom.xml文件里,指定了两个依赖,其中有一个是测试用的,也就是真正给业务代码用的就一个依赖spring-boot-starter,那它里面用了哪些依赖呢?

找spring-boot-starter的pom文件:https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter/2.7.18/spring-boot-starter-2.7.18.pom 

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot</artifactId><version>2.7.18</version><scope>compile</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId><version>2.7.18</version><scope>compile</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId><version>2.7.18</version><scope>compile</scope></dependency><dependency><groupId>jakarta.annotation</groupId><artifactId>jakarta.annotation-api</artifactId><version>1.3.5</version><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.3.31</version><scope>compile</scope></dependency><dependency><groupId>org.yaml</groupId><artifactId>snakeyaml</artifactId><version>1.30</version><scope>compile</scope></dependency>
</dependencies>
里面引了6个依赖:
  • spring-boot:提供SpringBoot的主体功能
  • spring-boot-autoconfigure:提供自动配置
  • spring-boot-starter-logging:提供日志打印
  • jakarta.annotation-api:提供注解API能力
  • spring-core:提供Spring的主体功能
  • snakeyaml:提供yaml文件解析和序列化功能

2.4 Spring核心依赖包

深入看一下spring-boot依赖的包: https://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot/2.7.18/spring-boot-2.7.18.pom 
<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.3.31</version><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.31</version><scope>compile</scope></dependency>
</dependencies>

里面多依赖一个提供Spring上下文信息的spring-context。

也深入看一下spring-core里面有没有引其它的依赖:

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-jcl</artifactId><version>5.3.31</version><scope>compile</scope></dependency>
</dependencies>

里面并没有引更多Spring核心的包。

但Spring的依赖注入、面向切面等核心功能包是在哪引入的呢?继续看starter多引的spring-context:https://repo.maven.apache.org/maven2/org/springframework/spring-context/5.3.31/spring-context-5.3.31.pom 

<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>5.3.31</version><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>5.3.31</version><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.3.31</version><scope>compile</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>5.3.31</version><scope>compile</scope></dependency>
</dependencies>

可以看到Spring的核心包在这里都引到了,也就是说只需要用一个简单的spring-boot-starter依赖,就可以正常使用Spring的主要功能了。

另外,spring-boot-starter及相关的依赖都是明确指定了版本的,这说明spring-boot-starter并不是非得和spring-boot-starter-parent一起使用,其也可以单独使用。

3 架构一小步

引入spring-boot-starter包,使用Spring的核心功能。

http://www.dtcms.com/wzjs/153343.html

相关文章:

  • 在线做qq空间的网站知乎软文推广
  • osCommerce购物网站架设全攻略seo软件全套
  • 12306网站花多少钱做的关键词搜索排名怎么查看
  • 菠菜网站怎么建设全渠道营销的概念
  • 网站建设科软文范例大全200字
  • wordpress 兼容ie重庆seo网站推广优化
  • 网络营销外包收费吗重庆电子商务网站seo
  • wordpress建站要多久成都计算机培训机构排名前十
  • 公司建网站怎么建网站免费推广
  • 用c 做网站seo全称是什么
  • 专业做轴承的网站游戏代理推广渠道
  • 番禺网站制作百度建站
  • 北新泾街道网站建设今天刚刚的最新新闻
  • 日本网站建设域名解析
  • 专门给代购做的网站进入百度官网
  • 好网站建设公司哪个好呀网盘搜索引擎入口
  • 攀枝花移动网站建设公司网站搭建
  • 郑州做网站网络营销软件推广
  • 内蒙古做网站公司杭州百度快速排名提升
  • 网站开发软硬件配置国外网站设计
  • 蚌埠市重点工程建设管理局网站深圳网站seo推广
  • 广告制作方案优化营商环境个人心得体会
  • 网站建设公司格广告投放收费标准
  • 太原代理记账海东地区谷歌seo网络优化
  • 在家建设一个网站需要什么材料崇左seo
  • 网站能获取访问者今日时政新闻
  • 无锡企业网站制作公司清博舆情系统
  • 视频网站靠点击率赚钱自己如何开网站
  • 总做总结 网站维护的收获最近的国际新闻大事10条
  • 白鹭引擎可以做网站吗中国搜索引擎排名2021