Spring Boot 基礎篇之 HelloWorld
Spring Boot 設計理念
應用開箱即用,只要通過 “just run”(可能是 java -jar 或 tomcat 或 maven外掛run 或 shell指令碼),就可以啟動專案。二者,Spring Boot 只要很少的Spring配置檔案(例如那些xml,property)。
因為“習慣優先於配置”的原則,使得Spring Boot在快速開發應用和微服務架構實踐中得到廣泛應用。
建立專案
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>com.lol</groupId>
<artifactId>lol</artifactId>
<version>0.0.1-SNAPSHOT</version >
<packaging>jar</packaging>
<name>lol</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId >
<version>1.5.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<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>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
只要加入一個 Spring Boot 啟動父依賴即可。
controller 層程式碼
HelloWorldController.java 程式碼如下:
/**
* 描述:Spring Boot HelloWorld 案例
* 2017年4月25日 下午7:48:24
*/
@RestController
public class HelloWorldController {
@RequestMapping("/hello")
public String sayHello() {
return "Hello,World!";
}
}
@RestController 註解
官方文件:
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.意思是:
@RestController註解相當於@ResponseBody + @Controller合在一起的作用。
如果只是使用@RestController註解Controller,則Controller中的方法無法返回jsp頁面,配置的檢視解析器InternalResourceViewResolver不起作用,返回的內容就是Return 裡的內容。
例如:本來應該到success.jsp頁面的,則其顯示success.如果需要返回到指定頁面,則需要用 @Controller配合檢視解析器InternalResourceViewResolver才行。
- 如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody註解。
@RequestMapping 註解是一個用來處理請求地址對映的註解,可用於類或方法上。用於類上,表示類中的所有響應請求的方法都是以該地址作為父路徑。
啟動類
@SpringBootApplication
public class LolApplication {
public static void main(String[] args) {
SpringApplication.run(LolApplication.class, args);
}
}
@SpringBootApplication:Spring Boot 應用的標識
LolApplication,一個main函式作為主入口。SpringApplication引導應用,並將LolApplication本身作為引數傳遞給run方法。具體run方法會啟動嵌入式的Tomcat並初始化Spring環境及其各Spring元件。
執行
Run As —> Java Application 執行專案可以看到控制檯輸出
2017-04-26 11:08:13.003 INFO 31220 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-04-26 11:08:13.007 INFO 31220 --- [ main] com.lol.LolApplication : Started LolApplication in 1.881 seconds (JVM running for 2.061)
Hello,World!