SpringBoot入門案例
項目名稱:002-springboot-springmvc
1.創建一個新的Module,選擇類型為Spring Initializr
2.指定GAV及pom配置信息
3.選擇Spring Boot版本及依賴
會根據選擇的依賴自動添加起步依賴并進行自動配置
4.修改Content Root路徑及文件所在目錄
5.對POM.xml文件進行解釋
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--繼承SpringBoot框架的一個父項目,所有自己開發的Spring Boot都必須的繼承-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--當前項目的GAV坐標-->
<groupId>com.bjpowernode.springboot</groupId>
<artifactId>002-springboot-springmvc</artifactId>
<version>1.0.0</version>
<!--maven項目名稱,可以刪除-->
<name>002-springboot-springmvc</name>
<!--maven項目描述,可以刪除-->
<description>Demo project for Spring Boot</description>
<!--maven屬性配置,可以在其它地方通過${}方式進行引用-->
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--SpringBoot框架web項目起步依賴,通過該依賴自動關聯其它依賴,不需要我們一個一個去添加了-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--SpringBoot框架的測試起步依賴,例如:junit測試,如果不需要的話可以刪除-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!--SpringBoot提供的打包編譯等插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
6.對SpringBoot項目結構進行說明
• mvn|mvnw|mvnw.cmd:使用腳本操作執行maven相關命令,國內使用較少,可刪除
• gitignore:使用版本控制工具git的時候,設置一些忽略提交的內容
• static|templates:后面模板技術中存放文件的目錄
• application.properties:SpringBoot的配置文件,很多集成的配置都可以在該文件中進行配置,例如:Spring、springMVC、Mybatis、Redis等。目前是空的
• Application.java:SpringBoot程序執行的入口,執行該程序中的main方法,SpringBoot就啟動了
7.創建一個Spring MVC的SpringBootController
SpringBootController類所在包:com.bjpowernode.springboot.web
package com.bjpowernode.springboot.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* ClassName:SpringBootController
* Package:com.bjpowernode.springboot.web
* Description:<br/>
*/
@Controller
public class SpringBootController {
@RequestMapping(value = "/springBoot/say")
public @ResponseBody String say() {
return "Hello,springBoot!";
}
}
注意:新創建的類一定要位于Application同級目錄或者下級目錄,否則SpringBoot加載不到。
8.在IDEA中右鍵,運行Application類中的main方法
通過在控制臺的輸出,可以看到啟動SpringBoot框架,會啟動一個內嵌的tomcat,端口號為8080,上下文根為空
9.在瀏覽器中輸入http://localhost:8080/springBoot/say訪問
1.Spring Boot的父級依賴spring-boot-starter-parent配置之后,當前的項目就是Spring Boot項目
2.spring-boot-starter-parent是一個Springboot的父級依賴,開發SpringBoot程序都需要繼承該父級項目,它用來提供相關的Maven默認依賴,使用它之后,常用的jar包依賴可以省去version配置
3.Spring Boot提供了哪些默認jar包的依賴,可查看該父級依賴的pom文件
4.如果不想使用某個默認的依賴版本,可以通過pom.xml文件的屬性配置覆蓋各個依賴項,比如覆蓋Spring版本
<properties>
<spring.version>5.0.0.RELEASE</spring.version>
</properties>
5.@SpringBootApplication注解是Spring Boot項目的核心注解,主要作用是開啟Spring自動配置,如果在Application類上去掉該注解,那么不會啟動SpringBoot程序
6.main方法是一個標準的Java程序的main方法,主要作用是作為項目啟動運行的入口
7.@Controller 及 @ResponseBody 依然是我們之前的Spring MVC,因為Spring Boot的里面依然是使用我們的Spring MVC + Spring + MyBatis 等框架