SpringBoot原理分析之起步依賴

近年來SpringBoot火的可是一塌糊塗,得益於它零配置,只需要在maven pom.xml引入相應的依賴就能啓動了。這一技術的出現,解救了面向大量xml編程而無法自拔的程序猿們-。-

  一、初次使用SpringBoot, 我們都知道要在pom.xml中引入:

        <!-- 所有的springboot工程都必須繼承spring-boot-starter-parent -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.9.RELEASE</version>
	</parent>

然後在dependencies中引入web開發所用的依賴:

                <!--web開發的起步依賴 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

經過以上步驟就可以代替原本SSM框架的大量的xml配置,就可以進行web開發了。這感覺,太爽了。但是在爽的同時,我們有思考過爲什麼只需要這麼少的配置就可以了呢?依賴的版本是如何控制的呢?

二、刨根究底

1.ctrl鍵+鼠標左鍵點擊artifactId

我們就會進來spingboot的父依賴:

在這個xml文件下,我們會看到spring-boot-starter-parent  也有父依賴:spring-boot-dependencies。

接着ctrl+鼠標左鍵:進入

我們會發現:properties中規定了spring-boot-starter-parent  2.1.9RELEASE 所要用到的其他依賴的版本,我們需要用到某個依賴,只要在pom.xml 的dependency中引入該以來的組名和座標即可,不需要操心版本問題。

2.版本問題解決了,那麼SpringBoot是如何做到只需要引入spring-boot-starter-web就可以進行web開發了呢?

同樣的方法,我們點進去spring-boot-starter-web:看到了spring-boot-starter-web的父依賴:

發現同樣 <properties>標籤下規定了spring-boot-starter-web  可能要用到的其他依賴的版本:

而且在<dependency>標籤下,我們看到了spring-boot-starter-web 依賴了web開發所需要的其他jar包,

如:tomcat

如:freemarker

我們還看到了跟spring-boot-starter-web同名的一個依賴,如下圖:

同樣的方法點進去:我們看到了久違的web和webmvc

由此我們可以看出,我們只需要引入spring-boot-starter-web,springBoot框架就幫我們引入了web和webmvc.

綜上:SpringBoot框架確實幫助我們幹了很多活我們只需要引入

    <!-- 所有的springboot工程都必須繼承spring-boot-starter-parent -->
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.9.RELEASE</version>
	</parent>
            <!--web開發的起步依賴 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

以上兩個依賴,就可以進行web開發啦!知其然,知其所以然!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章