隨着動態語言的流行,例如:Ruby、Groovy、Scala、Node.js,Java 的開發顯得格外的笨重:web
繁多的配置、低下的開發效率、複雜的部署流程以及第三方技術集成難度大。spring
在上述環境下,SpringBoot 應運而生。它使用「習慣優於配置」的理念讓你的項目快速運行起來(項目中存在大量的配置,此外還內置一個習慣性的配置,讓你無須手動進行配置)。瀏覽器
使用 SpringBoot 很容易建立一個獨立運行(運行 jar 且內嵌 Servlet 容器)、準生產級別的基於 Spring 框架的項目,使用 SpringBoot 你能夠不用或者只須要不多的 Spring 配置。tomcat
1. 快速構建項目springboot
2. 對主流開發框架的無配置集成bash
3. 項目可獨立運行,無須外部依賴 Servlet 容器websocket
4. 提供運行時的應用監控app
5. 極大地提升了開發、部署效率框架
6. 與雲計算的自然集成socket
1. 書籍文檔較少且不夠深刻
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.2.RELEASE</version> </parent>
說明:SpringBoot 的項目必需要將 parent 設置爲 spring boot 的 parent,該 parent 包含了大量默認的配置,大大簡化了咱們的開發。例如包含:cache、ElasticSearch、gson、http、jackson、jdbc、jmx、kafka、logging、mail。mongo、quartz、security、solr、web、webservice、websocket 等。
<!-- 用於 spring-boot web 組件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
說明:這個組件導入默認內嵌入一個 tomcat 容器,這樣在你啓動的時候無須本身再外部引入。
<build> <!-- springboot maven 插件 --> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
@Controller @SpringBootApplication @Configuration public class HelloApplication { @RequestMapping("hello") @ResponseBody public String hello(){ return "hello world!"; } public static void main(String[] args) { SpringApplication.run(HelloApplication.class, args); }
}
代碼說明:
一、@SpringBootApplication:SpringBoot 項目的核心註解,主要目的是開啓自動配置;
二、@Configuration:這是一個配置 Spring 的配置類;
三、@Controller:標明這是一個 SpringMVC 的 Controller 控制器;
四、@RequestMapping("hello"):用於標識請求導航路徑
五、@ResponseBody:用於標識請求返回 body 體內容
六、main方法:在main方法中啓動一個應用,即:這個應用的入口;
在Spring Boot項目中,啓動的方式有兩種,一種是直接run Java Application另一種是經過Spring Boot的Maven插件運行。
看到如下信息後,就代表啓動 OK 了:
打開瀏覽器,在地址欄中輸入信息:localhost:8080/hello , 會返回你代碼中輸入的內容:hello world!就代表一切都 OK 了。
下一章節會對 SpringBoot 中的相關核心配置作進一步分析