什麼是Spring Boot?
轉載自 什麼是Spring Boot?
什麼是Spring Boot?
Spring Boot是Spring開源組織下的子專案,是Spring元件一站式解決方案,主要是簡化了使用Spring的難度,簡省了繁重的配置,提供了各種啟動器,開發者能快速上手。
官方網站:http://projects.spring.io/spring-boot/
GitHub原始碼:https://github.com/spring-projects/spring-boot
Spring Boot的優點
Features
Create stand-alone Spring applications
Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
Provide opinionated 'starter' POMs to simplify your Maven configuration
Automatically configure Spring whenever possible
Provide production-ready features such as metrics, health checks and externalized configuration
Absolutely no code generation and no requirement for XML configuration
-
獨立執行
Spring Boot而且內嵌了各種servlet容器,Tomcat、Jetty等,現在不再需要打成war包部署到容器中,Spring Boot只要打成一個可執行的jar包就能獨立執行,所有的依賴包都在一個jar包內。
-
簡化配置
spring-boot-starter-web啟動器自動依賴其他元件,簡少了maven的配置。
+- org.springframework.boot:spring-boot-starter-web:jar:1.5.6.RELEASE:compile +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.5.6.RELEASE:compile | +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.16:compile | +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.16:compile | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.16:compile +- org.hibernate:hibernate-validator:jar:5.3.5.Final:compile | +- javax.validation:validation-api:jar:1.1.0.Final:compile | +- org.jboss.logging:jboss-logging:jar:3.3.1.Final:compile | \- com.fasterxml:classmate:jar:1.3.3:compile \- org.springframework:spring-webmvc:jar:4.3.10.RELEASE:compile
-
自動配置
Spring Boot能根據當前類路徑下的類、jar包來自動配置bean,如新增一個spring-boot-starter-web啟動器就能擁有web的功能,無需其他配置。
-
無程式碼生成和XML配置
Spring Boot配置過程中無程式碼生成,也無需XML配置檔案就能完成所有配置工作,這一切都是藉助於條件註解完成的,這也是Spring4.x的核心功能之一。
-
應用監控
Spring Boot提供一系列端點可以監控服務及應用,做健康檢測。
Spring Boot的缺點
Spring Boot雖然上手很容易,但如果你不瞭解其核心技術及流程,所以一旦遇到問題就很棘手,而且現在的解決方案也不是很多,需要一個完善的過程。
相關文章
- 什麼是Spring Boot?為什麼要學習Spring Boot?Spring Boot
- 什麼是Spring Boot Starters?Spring Boot
- Spring Boot與Spring Cloud是什麼關係?Spring BootCloud
- Spring boot與Spring cloud 是什麼關係?Spring BootCloud
- spring boot與spring mvc的區別是什麼?Spring BootMVC
- 面試官:什麼是 YAML?和 Spring Boot 有什麼關係?面試YAMLSpring Boot
- Spring Boot 為什麼這麼火?Spring Boot
- Spring 是什麼?Spring
- 一個吃貨來說明Spring Boot與Spring cloud 是什麼關係Spring BootCloud
- 什麼是Spring Data?Spring
- 有了 Spring 為什麼還要弄個 Spring BootSpring Boot
- 「Spring認證」什麼是Spring GraphQL?Spring
- Spring認證_什麼是Spring Security?Spring
- Spring認證_什麼是Spring GraphQLSpring
- Spring認證_什麼是Spring GraphQL?Spring
- Boot Camp是什麼以及如何使用boot
- 什麼是 Spring AOT 引擎?Spring
- 什麼是Spring Framework 框架?SpringFramework框架
- Spring Boot中Tomcat是怎麼啟動的Spring BootTomcat
- 為什麼Java大神,都在看Spring Boot和Spring Cloud的書?JavaSpring BootCloud
- Spring Aware 到底是什麼?Spring
- Spring IoC 到底是什麼Spring
- spring中FactoryBean是什麼beanSpringBean
- Spring Boot 2.2中有什麼新功能? - oioSpring Boot
- Spring原始碼剖析開篇:什麼是Spring?Spring原始碼
- 什麼是 Spring Cloud 資料流?SpringCloud
- Java 9 和Spring Boot 2.0紛紛宣佈支援的HTTP/2到底是什麼?JavaSpring BootHTTP
- Spring Boot 到底是怎麼執行的,你知道嗎?Spring Boot
- Spring Boot到底是怎麼執行的,你知道嗎?Spring Boot
- Spring Boot 整合 Freemarker,50 多行配置是怎麼省略掉的?Spring Boot
- 什麼是Spring 框架?Spring 框架有哪些主要模組?Spring框架
- Spring Boot:Spring Boot配置MybatisSpring BootMyBatis
- Spring Boot:Spring Boot配置SwaggerSpring BootSwagger
- 為什麼說 Java 程式設計師必須掌握 Spring Boot ?Java程式設計師Spring Boot
- Spring Cloud是什麼,和Dubbo對比呢?SpringCloud
- 一篇告訴你什麼是SpringSpring
- Spring的IOC是啥?有什麼好處?Spring
- Spring AOP(面向切面程式設計)是什麼?Spring程式設計