Spring Boot學習筆記(1)——構建SpringBoot項目

構建spingboot項目

1、構建 Spring Boot 項目,事實上建立的就是一個 Maven 項目
2、使用idea/eclipse工具構建一個maven項目
3、修改maven項目的pom文件:
1)、在 pom.xml 中添加 Spring Boot 相關的父級依賴, spring-boot-starter-parent 是一個特殊的starter:

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.0.6.RELEASE</version>
</parent>

注意:這裏要使用的版本是:2.0.6.RELEASE,現在官網上的版本是2.1.4.RELEASE,如果使用官網上的版本,則在啓動類中不能使用**@SpringBootApplication**註解
2)、在pom文件中添加Web 項目相關的依賴:

<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
</dependencies>

3)、這一點是可選的,如果需要將springboot項目打成jar包運行,則需要添加下面的插件:

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
	</plugins>
</build>

4、構建springboot的啓動類:

package com.dss.springboot;
@SpringBootApplication
public class HelloMainApplication {

	public static void main(String[] args) {
		SpringApplication.run(HelloMainApplication.class, args);
	}
}

5、構建一個Controller類

package com.dss.springboot.controller;
@Controller
public class HelloController {

	@RequestMapping(value="/hello", method=RequestMethod.GET)
	@ResponseBody
	public String hello() {
		return "hello world...";
	}
}

6、啓動springboot項目:
1)、直接運行HelloMainApplication類中的main方法,即可啓動springboot項目,啓動之後,可在 控制檯 看到啓動日誌:
在這裏插入圖片描述
可以看到項目啓動的端口是8080,因爲springboot啓動是通過內置的tomcat啓動的,此時在瀏覽器訪問:localhost:8080/hello ,即可訪問成功
2)、通過maven package指令打包項目,再運行java -jar xxxxx.jar 也可以啓動spingboot項目

SpingBoot項目底層原理簡單分析

1、pom文件分析:

<!-- 
spring-boot-starter-parent: 是當前項目的父依賴
	spring-boot-starter-parent 項目繼承了spring-boot-dependencies 項目
	spring-boot-dependencies 項目中主要定義了很多的組件版本,所以我們在引用對應的依賴時,不需要指定<version>
 -->
<!-- 使用springboot的版本:2.0.6.RELEASE -->
<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.0.6.RELEASE</version>
</parent>

<!-- 
	spring-boot-starter-web 分爲兩部分:
		spring-boot-starter :他是springboot的場景啓動器,它針對不同的場景定義了不同的場景啓動器
		spring-boot-starter-web:就是springboot衆多啓動器中的web啓動器,功能是構建web項目,通過這個啓動器可以引入 tomcat、springmvc等等
			項目需要哪些場景啓動器,只需要直接依賴對應的啓動器就ok:例如:需要單元測試,則引入 spring-boot-start-test
 -->
<dependencies>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-web</artifactId>
	</dependency>
</dependencies>

2、啓動類分析:

/**
 * @SpringBootApplication用於表示一個引導類,說明 當前是一個 springboot 項目
 * 		該註解主要由三個註解組成:
 * 			@SpringBootConfiguration (這個註解的組成如下:通過這個註解,表示將當前類添加到spring容器中,它是一個組件,並且它是sping的一個配置類)
 * 				 @Configuration 它屬於spring底層的一個註解,用於定義配置類,等價於spring的xml配置文件
 * 					@Component 它用於將該註解表明的類添加到spring容器中,表示 是一個組件
 * 
 *			@EnableAutoConfiguration
 *				@AutoConfigurationPackage 將引導類所在包 及子包下面所有的組件添加 到spring 容器中
 *				@Import(AutoConfigurationImportSelector.class)
 *					1、將所有的組件 以 全類名 的方式放回,並且添加到 spring 容器中
 *					2、會向 spring 容器中導入非常多的 自動配置類 ,這些配置類都是spring 定義好的,省去我們手動編寫 配置文件中的bean標籤來注入組件
 *
 *			@ComponentScan
 *				被該註解標識的類會被 spring 容器進行管理
 * 
 * 		注意:spring項目在啓動時,會以引導類所在的包爲基準,將所有子包下面的組件掃描到spring容器中,所以,引導類要定義在package的最上層
 * @author asong
 *
 *
 */
@SpringBootApplication
public class HelloMainApplication {

	public static void main(String[] args) {
		SpringApplication.run(HelloMainApplication.class, args);
	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章