Spring Boot學習一Hello World!
今天突然覺得,使用springboot一年多了,但是springboot提供的很多東西都不知道,往往在網上查了好久之後最終的解決方案還是在spring的官網上springboot的文件中找到的,所以打算系統的學習下springboot的官方文件。
看下當前的官方版本:
release版最新的是1.5.6,2.0的是M3,文件中是以2.0.0為示例介紹的,所以這裡也使用2.0.0.
開發環境要求:
這裡jdk最低要求是1.8了,java9都快出了,如果只是為了學習,直接用最新的肯定不會有問題。spring framework5.0(這個不需要太關心),maven3.2+,gradle4.這裡我習慣了maven所以就選用maven。我本地的是3.5.
容器部分不需要太關心,因為springboot中的starter內建了tomcat,如果需要用其他的可以切換,這裡我選用的是tomcat,所以其他的就不關心了。
官方推薦的開發工具是Spring Boot CLI,我選用的是現在主流的IDEA(也是最近幾個月剛接觸的)。
現在來建立專案:
在IDEA中依次選擇file→new→project
接下來選擇如下:
之後的選項:
groupid一般都是包名,starter為專案名稱,如果熟悉maven的同學都會很容易理解,參照圖示填寫之後下一步直接finish就好,如果想改專案位置,在下一步自己選擇就好。
現在來看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>
<!-- 這裡是我的專案資訊 -->
<groupId>springboot-starter</groupId>
<artifactId >starter1</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 這裡是引用的springboot的版本,可以理解為我們下邊的一切springboot提供的東西都是從這裡繼承的 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
</parent>
<!-- 這裡我們引用一個starter,這個starter中包含了tomcat -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 下邊這些事springboot的原有備註,看下就好 -->
<!-- (you don't need this if you are using a .RELEASE version) -->
<repositories>
<repository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/snapshot</url>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<url>http://repo.spring.io/milestone</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-snapshots</id>
<url>http://repo.spring.io/snapshot</url>
</pluginRepository>
<pluginRepository>
<id>spring-milestones</id>
<url>http://repo.spring.io/milestone</url>
</pluginRepository>
</pluginRepositories>
</project>
現在開始建寫程式碼,我們的java類必須放在src/main/java這個資原始檔夾下,所以我們直接在這裡建Java類。
程式碼:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Created by pangkunkun on 2017/8/31.
*/
@RestController
@EnableAutoConfiguration
public class Helloworld {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Helloworld.class, args);
}
}
目錄結構:
直接執行這個類(右鍵run Helloworld),然後在瀏覽器中輸入localhost:8080就可以得到“Hello World!”。
這樣就建立起一個最簡單的springboot專案。
簡單的說下這個Java類中的註解。
@RestController:把這個類註冊成一個controller,從而能夠接受url的呼叫,這個功能是@Controller的功能,前邊的Rest是生命成rest介面,如果不瞭解rest這個概念的話,建議起網上搜一下。如果這裡直接使用@Controller也是可以正常呼叫的,但是這裡返回的時候會報找不到頁面的錯誤。具體不多做解釋了,具體可以看下@RestController,這是個組合註解。
@RequestMapping:使用過springmvc的都回很清楚這個註解,用來定義一個URI。
@EnableAutoConfiguration:這個註解是告訴Spring Boot自己去配置spring,這裡主要是找到spring-boot-starter-web這個引用,並啟用裡面的tomcat容器,從而使專案執行起來。後邊可能會一直用@SpringBootApplication這個更專業點兒的註解,到時候再說。
今天有點兒晚了,先說這些吧,如果有什麼問題,歡迎大家批評指正。