Springboot(一)——入門
本章重點:
1.什么是Springboot;
2.使用Springboot搭建web項目;
一、Springboot
1.Springboot產生的背景
Servlet->Struts2->Spring->SpringMVC,技術發展過程中,對使用者來說越來越簡單,成本越來越低。
假設讓你使用Spring開發一個簡單的Hello World Web應用程序,你該做什么?
- 一個項目結構,其中有一個包含必要依賴的Maven構建文件,最起碼要有Spring MVC和Servlet API這些依賴。
- 一個web.xml文件(或者一個WebApplicationInitializer實現),其中聲明了Spring的DispatcherServlet。
- 一個啟用了Spring MVC的Spring配置。
- 一個控制器類,以“Hello World”響應HTTP請求。
- 一個用于部署應用程序的Web應用服務器,比如Tomcat。
最讓人難以接受的是,這份清單里只有一個東西是和Hello World功能相關的,即控制器,剩下的都是Spring開發的Web應用程序必需的通用樣板。既然所有Spring Web應用程序都要用到它們,那為什么還要你來提供這些東西呢?
問題:Spring框架存在了大量的xml配置文件和依賴關系,為了解決這些問題,出現了Springboot框架。
2.什么是Springboot
隨著動態語言的流行(Ruby、Groovy、Scala、 Node.js),Java的開發顯得格外的笨重:繁多的配置、低下的開發效率、復雜的部署流程以及第三方技術集成難度大。在上述環境下,Spring Boot應運而生。
Spring Boot是Spring平臺的一個全新的框架。目的是簡化Spring框架應用中的初始化搭建和開發過程。Spring Boot基于Spring4進行的設計。它使用“習慣優于配置”(項目中存在大量的配置,此外還內置一個習慣性的配置,讓你無須手動進行配置)的理念讓你的項目快速運行起來。使用Spring Boot很容易創建一個獨立運行(運行jar,內嵌Servlet容器)、準生產級別的基于Spring框架的項目,使用Spring Boot你可以不用或者只需要很少的Spring配置。
3.Spring Boot核心功能
-
獨立運行的Spring項目
Spring Boot可以以jar包的形式獨立運行,運行一個Spring Boot項目只需通過java–jar xx.jar來運行。
-
內嵌Servlet容器
Spring Boot可選擇內嵌Tomcat、Jetty或者Undertow,這樣我們無須以war包形式部署項目。
-
提供starter簡化Maven配置
Spring提供了一系列的starter pom來簡化Maven的依賴加載,例如,當你使用了spring-boot-starter-web時,會自動加入如圖1-1所示的依賴包。
入門.assets/S1 (0).png)
-
自動配置Spring
Spring Boot會根據在類路徑中的jar包、類,為jar包里的類自動配置Bean,這樣會極大地減少我們要使用的配置。當然,Spring Boot只是考慮了大多數的開發場景,并不是所有的場景,若在實際開發中我們需要自動配置Bean,而Spring Boot沒有提供支持,則可以自定義自動配置。
-
準生產的應用監控
Spring Boot提供基于http、ssh、telnet對運行時的項目進行監控。
-
無代碼生成和xml配置
Spring Boot的神奇的不是借助于代碼生成來實現的,而是通過條件注解來實現的,這是Spring 4.x提供的新特性,在3.5節有過簡單的演示,本章將用大量的篇幅講解Spring Boot實現的核心技術。
Spring 4.x提倡使用Java配置和注解配置組合,而Spring Boot不需要任何xml配置即可實現Spring的所有配置。
4.使用Sptingboot的好處
-
快速構建項目,無需xml配置文件;
-
無需手動管理jar包的依賴關系,使用Maven來進行統一管理;
-
無需外部服務器,有內置的tomcat服務器,可以直接啟動項目;
-
配置熱部署和自動啟動;
-
對主流開發框架的無配置集成;
-
提供運行時的應用監控;
-
極大地提高了開發、部署效率;
-
與云計算的天然集成。
二、使用Springboot搭建web項目
1.創建項目maven項目;
入門.assets/S1 (1).png)
入門.assets/S1 (2).png)
入門.assets/S1 (3).png)
2.在pom.xml文件中添加Springboot依賴關系
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-parent</artifactId><version>2.0.5.RELEASE</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency></dependencies>
3.創建Springboot項目的啟動類
注:啟動類必須在最外層
入門.assets/S1 (4).png)
4.編寫Controller層
@RestController
public class FirstController {@RequestMapping("hello")public String hello(){return "Hello";}
}
@RestController標注這個程序是一個控制器,在瀏覽器中訪問應用目錄/hello,返回字符串”Hello“。
5.啟動服務進行訪問
http://localhost:8080/test/hi
springboot內置tomcat默認端口號為8080,項目路徑“”
一個控制器,在瀏覽器中訪問應用目錄/hello,返回字符串”Hello“。
5.啟動服務進行訪問
http://localhost:8080/test/hi
springboot內置tomcat默認端口號為8080,項目路徑“”