javascript
Springboot是什么?Springboot详解!入门介绍
Spring Boot概述
Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化Spring應用的創建、運行、調試、部署等。使用Spring Boot可以做到專注于Spring應用的開發,而無需過多關注XML的配置。Spring Boot使用“習慣優于配置”的理念,簡單來說,它提供了一堆依賴打包,并已經按照使用習慣解決了依賴問題。使用Spring Boot可以不用或者只需要很少的Spring配置就可以讓企業項目快速運行起來。
Spring Boot是開發者和Spring 本身框架的中間層,幫助開發者統籌管理應用的配置,提供基于實際開發中常見配置的默認處理(即習慣優于配置),簡化應用的開發,簡化應用的運維;總的來說,其目的Spring Boot就是為了對Java web 的開發進行“簡化”和加“快”速度,簡化開發過程中引入或啟動相關Spring 功能的配置。這樣帶來的好處就是降低開發人員對于框架的關注點,可以把更多的精力放在自己的業務代碼上。
同時隨著微服務概念的推廣和實踐,Spring Boot的精簡理念又使其成為Java微服務開發的不二之選,也可以說,Spring Boot其實就是為了微服務而生的Java web框架。
先如今,Spring Boot已經在蓬勃發展的快速應用開發領域(rapid application development)成為領導者
1.2.2 Spring Boot的核心功能
1、 可獨立運行的Spring項目:Spring Boot可以以jar包的形式獨立運行。
2、 內嵌的Servlet容器:Spring Boot可以選擇內嵌Tomcat、Jetty或者Undertow,無須以war包形式部署項目。
3、 簡化的Maven配置:Spring提供推薦的基礎 POM 文件來簡化Maven 配置。
4、 自動配置Spring:Spring Boot會根據項目依賴來自動配置Spring 框架,極大地減少項目要使用的配置。
5、 提供生產就緒型功能:提供可以直接在生產環境中使用的功能,如性能指標、應用信息和應用健康檢查。
6、 無代碼生成和xml配置:Spring Boot不生成代碼。完全不需要任何xml配置即可實現Spring的所有配置。
我們的主要目標是:
- 為所有Spring開發提供一個更快,更廣泛的入門體驗。
- 立即開始斟酌,但隨著需求開始偏離默認值,快速避開
- 提供大型項目(如嵌入式服務器,安全性,指標,運行狀況檢查和外部配置)通用的一系列非功能性功能。
- 絕對不會生成代碼,并且不需要XML配置。
1.2.3SpringBootB的相關好處
A.為什么要用SpringBoot?
B.什么是SpringBoot?
C.SpringBoot與SpringCloud 的區別?
D.SpringBoot與SpringMVC 的區別?
(一)為什么要用SpringBoot?
以往的項目整合起來是比較繁瑣復雜的,而且存在架包沖突的問題,這時候SpringBoot應運而生了,SpringBoot也就是用來做這個的。
(二)什么是SpringBoot?
SpringBoot是一個快速開發的框架,能過快速整合第三方框架,他是如何快速整合的呢?其實他是的基本原來是Maven依賴關系,Maven的集成,完全采用注解化,簡化XML配置,內嵌HTTP服務器(Tomcate,jetty),默認嵌入Tomcate,最終以Java應用程序進行執行。
總結一下:
1.SpringBoot是微服務框架(網上很多這樣說的朋友,其實并不合理,后面我們總結也SpringCloud的時候在細說)
2.SpringBoot核心:快速整合第三方框架
3.SpringBoot原理:Maven依賴關系,Maven的繼承,完全采用注解化,Spring3.0以后采用注解方式啟動SpringMVC
(三)SpringBoot與SpringCloud 的區別?
1.SpringBoot快速開發框架,快速整合第三方框架(Maven依賴關系###Maven繼承),完全采用注解化,簡化XML配置,最終以java應用程序進行執行。
2.SpringCloud一套目前完整的微服務解決框架,功能非常強大,注冊中心,客戶端調用工具,服務治理(負載均衡,斷路器,分布式配置中心,網管,消息總線等)。
3.關系:微服務通訊技術Http+json(restfull)輕量級,SpringBoot Web組件默認集成SpringMVC,SpringCloud依賴于SpringBoot實現微服務,使用SpringMVC編寫微服務接口。
總結:
SpringCloud 微服務開發——RPC遠程通訊技術,服務治理,單純的只是集成SpringBoot實現快速開發。
(四)SpringBoot與SpringMVC 的區別?
說白了就是SpringBoot Web組件默認集成SpringMVC框架,SpringMVC3.0以后支持注解方式使用java代碼啟動SpringMVC。
1.2.4為什么學習SpringBoot
1.從官方來看
2.從Spring的優點來看
①良好的基因
因為SpringBoot是伴隨著Spring 4.0而生的,boot是引導的意思,也就是它的作用其實就是在于幫助開發者快速的搭建Spring框架,因此SpringBoot繼承了Spring優秀的基因,在Spring中開發更為方便快捷。
②簡化編碼
比如我們要創建一個 web 項目,使用 Spring 的朋友都知道,在使用 Spring 的時候,需要在 pom 文件中添加多個依賴,而 Spring Boot 則會幫助開發著快速啟動一個 web 容器,在 Spring Boot 中,我們只需要在 pom 文件中添加如下一個 starter-web 依賴即可。
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency>我們點擊進入該依賴后可以看到,Spring Boot 這個 starter-web 已經包含了多個依賴,包括之前在 Spring 工程中需要導入的依賴,我們看一下其中的一部分,如下:
<!-- .....省略其他依賴 --> <dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.0.7.RELEASE</version><scope>compile</scope> </dependency> <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.0.7.RELEASE</version><scope>compile</scope> </dependency>由此可以看出,Spring Boot 大大簡化了我們的編碼,我們不用一個個導入依賴,直接一個依賴即可。
③簡化配置
Spring 雖然使Java EE輕量級框架,但由于其繁瑣的配置,一度被人認為是“配置地獄”。各種XML、Annotation配置會讓人眼花繚亂,而且配置多的話,如果出錯了也很難找出原因。Spring Boot更多的是采用 Java Config 的方式,對 Spring 進行配置。舉個例子:
我新建一個類,但是我不用 @Service注解,也就是說,它是個普通的類,那么我們如何使它也成為一個 Bean 讓 Spring 去管理呢?只需要@Configuration 和@Bean兩個注解即可,如下:
public class TestService {public String sayHello () {return "Hello Spring Boot!";} }import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;@Configuration public class JavaConfig {@Beanpublic TestService getTestService() {return new TestService();} }@Configuration表示該類是個配置類,@Bean表示該方法返回一個 Bean。這樣就把TestService作為 Bean 讓 Spring 去管理了,在其他地方,我們如果需要使用該 Bean,和原來一樣,直接使用@Resource注解注入進來即可使用,非常方便。
@Resource private TestService testService;
另外,部署配置方面,原來 Spring 有多個 xml 和 properties配置,在 Spring Boot 中只需要個 application.yml即可。
④簡化部署
在使用 Spring 時,項目部署時需要我們在服務器上部署 tomcat,然后把項目打成 war 包扔到 tomcat里,在使用 Spring Boot 后,我們不需要在服務器上去部署 tomcat,因為 Spring Boot 內嵌了 tomcat,我們只需要將項目打成 jar 包,使用 java -jar xxx.jar一鍵式啟動項目。
另外,也降低對運行環境的基本要求,環境變量中有JDK即可。
⑤簡化監控
我們可以引入 spring-boot-start-actuator 依賴,直接使用 REST 方式來獲取進程的運行期性能參數,從而達到監控的目的,比較方便。但是 Spring Boot 只是個微框架,沒有提供相應的服務發現與注冊的配套功能,沒有外圍監控集成方案,沒有外圍安全管理方案,所以在微服務架構中,還需要 Spring Cloud 來配合一起使用。
3.從未來發展趨勢看
微服務是未來發展的趨勢,項目會從傳統架構慢慢轉向微服務架構,因為微服務可以使不同的團隊專注于更小范圍的工作職責、使用獨立的技術、更安全更頻繁地部署。而 繼承了 Spring 的優良特性,與 Spring 一脈相承,而且 支持各種REST API 的實現方式。Spring Boot 也是官方大力推薦的技術,可以看出,Spring Boot 是未來發展的一個大趨勢。
總結
以上是生活随笔為你收集整理的Springboot是什么?Springboot详解!入门介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据相关,资源相关,控制相关的解决方法
- 下一篇: 如何识别一个指针式的时种的时间?