現在需要搭建spring boot架構,并實作一個HelloWorld的項目,讓程式真正運作起來。
一、在pom.xml中引入spring-boot-start-parent,spring官方的叫stater poms,它可以提供dependency management,也就是依賴管理,引入以後在聲明其它dependency的時候就不需要version了。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
二、需要在pom.xml中引入spring-boot-starter-web,spring官方解釋spring-boot-start-web包含了spring webmvc和tomcat等web開發的特性。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
三、如果我們要直接Main啟動spring,那麼以下plugin必須要添加,否則是無法啟動的。如果使用maven的spring-boot:run的話就不需要此配置。
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
四、下面開始寫程式,我們需要一個啟動類,然後在啟動類聲明讓spring boot自動給我們配置spring需要的配置,比如:@SpringBootApplication,為了可以盡快讓程式跑起來,我們簡單寫一個通過浏覽器通路hello world字樣的例子:
package hello;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;
@Controller
@EnableAutoConfiguration
public class SampleController {
@RequestMapping("/home")
@ResponseBody
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(SampleController.class, args);
}
}
其中@EnableAutoConfiguration聲明讓spring boot自動給程式進行必要的配置,等價于以預設屬性使用@Configuration,@EnableAutoConfiguration和@ComponentScan。
@RestController傳回json字元串的資料,直接可以編寫RESTFul的接口。
五、運作我們的Application,特别簡單:右鍵Run As -> Java Application。之後打開浏覽器輸入位址:http://127.0.0.1:8080/home 就可以看到Hello world!了。
六、完整的pom.xml檔案
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zst</groupId>
<artifactId>mymaven</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mymaven Maven Webapp</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<finalName>mymaven</finalName>
</build>
</project>
至些,我們的Spring boot項目已經搭建完成,并成功的運作了HelloWorld的項目。