小言_互联网的博客

Spring Boot 入门学习(二)探究Hello SpringBoot wed项目——pom文件里的秘密

314人阅读  评论(0)

Spring Boot 入门学习(二)探究Hello SpringBoot wed项目

1.导入

Spring Boot 入门学习(一)Spring Boot 特征及快速创建web项目中我们已经光速创建了基于Spring Boot的web项目,相比于之前的Spring MVC 可以说是极大地程序员从各种配置文件中解放出来。通过这篇文章来探究一下,Spring Boot是怎么做到的。

2.pom文件里秘密

首先这个web项目是一个Maven项目,所以有必要看下这个Spring Boot项目都导入了哪些依赖。

pom文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<!-- 父项目-->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.2.6.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<!-- 项目描述 -->
	<groupId>com.example</groupId>
	<artifactId>demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>demo</name>
	<description>Demo project for Spring Boot</description>
	<!-- Java版本 -->
	<properties>
		<java.version>1.8</java.version>
	</properties>
    <!--  导入的依赖	-->
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>
	<!-- 这个插件,可以将应用打包成一个可执行的jar包  -->
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>

2.1 父级项目

pom文件中有parent标签,这是项目的父级项目。光标放在spring-boot-starter-parent,按住Ctrl键,进入spring-boot-starter-parent-***.pom,在这个pom文件中有spring-boot-starter-parent,项目的父级项目。

再点击进入,有个项目叫spring-boot-dependencies项目,且这个项目没有父级项目。在这个pom文件中指定了各个依赖的版本。

所以,总结来说:spring-boot-dependencies真正管理着Spring Boot项目的依赖的版本。是Spring Boot的版本的仲裁中心。导入的依赖默认是不需要写版本的。但是,没有在dependencies中管理的依赖依然是需要声明版本的。

2.2 导入的依赖

在pom文件中,可以看到,项目导入了spring-boot-starter-web。这是一个web场景启动器。

进入这个启动器,可以发现这里有个tomcat的依赖。这就是为什么这个项目你明明没有配置web容器,却能成功地通过浏览器进行访问。因为这些基本的常规操作Spring Boot都替你做好了。
spring-boot-starter:Spring Boot的场景启动器。Spring Boot将所有功能的场景都抽取出来,做成一个个starter(启动器)。只需要在项目中引入这些starter,就可以就这个启动器的依赖都导入进来。

3.总结

通过这个超级简单的web项目,印证了Spring Boot官网对Spring Boot的描述。你需要做的就是just run 。因为Spring Boot的重要思想“约定大于配置”。


转载:https://blog.csdn.net/baidu_38645830/article/details/105459915
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场