@SpringBootApplication
上篇文章講到DemoApplication類,里面你會(huì)發(fā)現(xiàn)有各main方法移宅,這就是為什么我們能運(yùn)行這個(gè)項(xiàng)目用run as java application 方式蜗顽。 另外如果再看main方法里面只有一行代碼 SpringApplication.run, 這段代碼實(shí)際上就是運(yùn)行Spring application context,當(dāng)你運(yùn)行Spring的時(shí)候缩膝,第一件事情就是告訴Spring哪里能找到配置文件,實(shí)際上我們這里就是DemoApplication類岸霹,所以這個(gè)類不僅是個(gè)boot class疾层,而且還帶有額外的必須配置信息。如果你想了解更多這個(gè)方面的信息松申,到Spring framework reference頁(yè)面云芦,找到章節(jié)“composing Java-based configurations”俯逾,里面會(huì)有詳細(xì)說明贸桶。
這個(gè)類有個(gè)annotation @SpringBootApplication, 大概介紹下這個(gè)annotation的作用桌肴,基本上這個(gè)是幾個(gè)annotation的集合:
- @Configuration, 說明此文件是一個(gè)配置文件
- @ComponentScan皇筛,當(dāng)Spring boot啟動(dòng)的時(shí)候,它會(huì)自動(dòng)查找@Compoments 文件
- @EnableAutoConfiguration: 這個(gè)Springboot提供的一個(gè)非常神奇的功能坠七。它會(huì)查看application context水醋,classpath的內(nèi)容,它會(huì)試圖了解你想要做什么彪置,幫你做些你遺漏的事情拄踪,比如創(chuàng)建缺失的beans,數(shù)據(jù)操作的transaction manager等拳魁。
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
創(chuàng)建一個(gè)web application
Maven依賴
首先要確認(rèn)maven里面已經(jīng)加入對(duì)spring-boot-starter-web的依賴惶桐,這個(gè)我們?cè)谏掀恼吕锩嬉呀?jīng)做過了。
創(chuàng)建Controller
然后我們需要?jiǎng)?chuàng)建一個(gè)controller潘懊,比如名字叫做DemoController
然后我們加一個(gè)簡(jiǎn)單的hello的方法姚糊,見如下代碼:
第一,這個(gè)地方類上需要加上@Controller授舟,聲明這是一個(gè)Controller
第二救恨,方法上我們要加上@RequestMapping, 指定請(qǐng)求的地址,我這個(gè)地方指定的是"/hello", 你可以隨意指定你需要的地址
第三释树,返回的地方我們需要加上@ResponseBody肠槽,用來告訴SpringMVC,這個(gè)請(qǐng)求要返回一個(gè)String
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class DemoController {
@RequestMapping("/hello")
public @ResponseBody String hello() {
return "Hello World!";
}
}
ok,一切就緒奢啥,我們可以再次運(yùn)行這個(gè)項(xiàng)目秸仙,當(dāng)你在IDE的console上看到Spring啟動(dòng)完成后,你就可以到瀏覽器上訪問你的項(xiàng)目看看效果扫尺,敲入http://localhost:8080/hello,瀏覽器上會(huì)出現(xiàn)如下結(jié)果
總結(jié)
這樣一個(gè)簡(jiǎn)單的web application就創(chuàng)建了筋栋。讓我們總結(jié)下:
- 我們需要確認(rèn)maven已經(jīng)加入了對(duì)spring-boot-starter-web的依賴,加入這個(gè)依賴后正驻,我們的classpath就會(huì)自動(dòng)加入spring-web弊攘,spring-mvc jar包抢腐,還會(huì)加入內(nèi)嵌的Tomcat jar包
- 我們需要?jiǎng)?chuàng)建一個(gè)controller,并加入一個(gè)公用方法襟交,并且map 上request迈倍,response,用來告訴Spring MVC我們要發(fā)送的request還有返回的response是什么捣域,其他的Spring Boot 會(huì)自動(dòng)幫我們創(chuàng)建MVC beans啼染,比如:DispatcherServlet, HandlerMapping,Adapter焕梅,ViewResolvers
接下來迹鹅,我們會(huì)看看如何發(fā)布一個(gè)war包