經過上篇文章, 咱們已經瞭解到了 Spring Boot 做爲一個Spring的腳手架, 其核心思想即是約定大於配置,經過一層層的封裝讓咱們能夠在最短的時間內搭建一個web項目,從繁瑣的配置中走出來更加關注業務代碼。這篇文章便以一個簡單的Hello World 爲例 帶你走進spring Boot 的世。html
系統要求:
儘管你能夠在Java6或Java7環境下使用Spring Boot,一般咱們建議你若是可能的話就使用Java8。
Spring Boot 默認使用了內嵌容器 支持開箱即用 。
下面讓咱們快速搭建一個最簡單的Spring Boot 項目:
第一步:
建立一個maven項目
第二步:
引入pom配置:java
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.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>
第三步:
建立一個類web
@RestController @SpringBootApplication public class Application { @GetMapping public String hello(){ return "Hello World"; } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
第四步:
運行這個main函數spring
查看控制檯打印內容:json
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v1.5.2.RELEASE) 2017-03-04 15:00:19.379 INFO 6468 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
能夠看到一個很是簡單的Spring Boot 項目已經運行起來了, 查看打印信息會發現其運行在8080端口上,而後打開網址http://localhost:8080/ ‘Hello World’已經出如今瀏覽器窗口上。瀏覽器
Hello World
Spring Boot 幫助咱們作了大量的默認配置,使咱們沒必要太多去關注這些細節,在下一篇文章中我會記錄一下關於自定義配置的內容,Spring Boot 的配置文件 幫助咱們快速開發的同時而不犧牲靈活性。app
關於第三步註解的一些描述:maven
@RestController:該註解是spring 4.0引入的。查看源碼可知其包含了 @Controller 和 @ResponseBody 註解。咱們能夠將其看作對@Controller註解的加強與細分,經常使用來返回json格式的數據。ide
@SpringBootApplication:該註解是Spring Boot 的自定義註解, 查看其源碼會發現其包含了@Configuration
@EnableAutoConfiguration @ComponentScan 這三個註解,其做用等價於:同時修飾了這三個註解,爲了方便理解這裏列舉個簡單的例子(這兩個代碼片斷效果相同):函數
@Configuration @EnableAutoConfiguration @ComponentScan public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
@GetMapping:查看其源碼發現其被@RequestMapping註解修飾, 其做用等價與 RequestMapping(method =RequestMethod.GET)。