13 Spring Boot:html
Spring爲企業級Java開發提供了一種相對簡單的方法,經過依賴注入和麪向切面編程,用簡單的Java對象(Plain Old Java Object,POJO)實現了EJB的功能。 spring
Spring的缺點分析 編程
雖然Spring的組件代碼是輕量級的,但它的配置倒是重量級的。一開始,Spring用XML配置,並且是不少XML配置。segmentfault
Spring 2.5引入了基於註解的組件掃描,這消除了大量針對應用程序自身組件的顯式XML配置。tomcat
Spring 3.0引入了基於Java的全註解配置,這是一種類型安全的可重構配置方式,能夠代替XML。 安全
除此以外,項目的依賴管理也是一件耗時耗力的事情。在環境搭建時,須要分析要導入哪些庫的座標,並且還須要分析導入與之有依賴關係的其餘庫的座標,一旦選錯了依賴的版本,隨之而來的jar包衝突不兼容問題就會嚴重阻礙項目的開發進度。服務器
SpringBoot對上述Spring的缺點進行的改善和優化,基於約定優於配置的思想,可讓開發人員沒必要在配置與邏輯業務之間進行思惟的切換,全身心的投入到邏輯業務的代碼編寫中,從而大大提升了開發的效率。app
簡單的說,起步依賴就是是一個Maven項目對象模型(Project Object Model,POM)
Spring Boot的自動配置是一個運行時(更準確地說,是應用程序啓動時)的過程,考慮了衆多因素,才決定
Spring配置應該用哪一個,不應用哪一個。該過程是Spring自動完成的。
注意:起步依賴和自動配置的原理剖析會在第三章《SpringBoot原理分析》進行詳細講解
1.1 使用idea工具建立一個maven工程
該工程爲普通的java工程便可。
1.2 添加SpringBoot的起步依賴
SpringBoot要求,項目要繼承SpringBoot的起步依賴spring-boot-starter-parent
pom.xml
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> </parent>
SpringBoot要集成SpringMVC進行Controller的開發,因此項目要導入web的啓動依賴
<!--SpringBoot要集成SpringMVC,因此項目要導入web的啓動依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
1.3 編寫SpringBoot引導類
package cn.bjut; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; //註解聲明這是一個SpringBoot引導類 @SpringBootApplication public class MySpringBootApplication { //main主方法是java程序的入口 public static void main(String[] args) { //run方法 表示運行SpringBoot引導類 //run參數就是SpringBoot引導類的字節碼對象 SpringApplication.run(MySpringBootApplication.class); } }
Spring Boot 內置了tomcat服務器,啓動後自動調用。
2019-09-27 11:21:53.305 INFO 2956 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
1.4 編寫一個視圖Web層的 Controller類測試一下
package cn.bjut.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller //springIOC注入bean註解 public class QuickController { //頁面可能出現亂碼。所以在註解中咱們能夠手動修改編碼格式 @RequestMapping(value = "/quick",produces="text/html;charset=utf-8") @ResponseBody //做用是將方法的返回值以特定的格式寫入到response的body區域,進而將數據返回給客戶端 public String quick(){ return "hello Spring Boot"; } }
咱們在開發中反覆修改類、頁面等資源,每次修改後都是須要從新啓動才生效,這樣每次啓動都很麻煩,浪費了大量的時間,咱們能夠在修改代碼後不重啓就能生效,在 pom.xml 中添加以下配置就能夠實現這樣的功能,咱們稱之爲熱部署。
<!--SpringBoot熱部署配置--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
而後 Shift+Ctrl+Alt+/,選擇Registry
package cn.bjut.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController //功能上 = @Controller+@ResponseBody //Controller public class QuickController { @RequestMapping(value = "quick") //@ResponseBody public String TestSpringBootMethod(){ return "IDEA快速使用spring boot項目成功"; } }
=======================
參考資料:
========================
end