javascript
什么是Spring Boot以及为什么它是用于创建微服务的首选框架
為什么要使用Spring Boot創建微服務?
Spring Boot是Java領域眾所周知的首選框架,用于創建Micro Services。 使用Spring引導框架,可以非常輕松地創建Java應用程序。 現在,我們將看到Spring啟動框架的一些功能,這使其成為創建Micro Services的理想競爭者。
1.首先讓我們看一下示例Spring app Maven文件。
樣本Spring Maven文件
如果您在上圖中查看Maven XML文件,則Hibernate用作ORM框架, H2是內存數據庫中的基礎。 如果您在此處仔細觀察,則需要在xml文件中顯式指定所有數據庫以及與ORM相關的依賴關系,盡管它隨后又會由于Maven而解析其所有互連的依賴關系。 如果可以,我們掌握了一些框架/工具 ,因此不必指定以上依賴項,這樣可以節省大量開發人員的時間和資源。 為了使此功能成為現實,Spring提出了一個名為Spring Boot的框架。
2.什么是Spring框架的@Conditional注釋?
Spring4狀態
如果您查看上圖中來自spring-boot-autoconfigure jar的HibernateJpaAutoConfiguration類,您會發現@Conditional Annotation(請參見箭頭標記),它查找HibernateEntityManagerCondition 。
Spring4狀態
如果您查看上圖中的HibernateEntityManagerCondition類,則只有在類路徑中存在org.hibernate.ejb.HibernateEntityManager或org.hibernate.jpa.HibernateEntityManager (請參見箭頭標記)中的任一個時,您才會看到HibernateEntityManagerCondition被滿足。 因此,只有滿足以上條件,才會在HibernateJpaAutoConfiguration中自動配置bean。
3. Spring Boot的自動配置功能基于@Conditional注釋。
SpringBootApplication類
如果您查看上圖中用于注釋所有Spring Boot應用程序Main類的SpringBootApplication類,您會注意到它具有@EnableAutoConfiguration Annotation(請參見箭頭標記),它可以自動配置Bean。 這就是通過使用Spring Boot實現自動配置的所有魔力。 因此,一般而言,Spring Boot提供以下功能:
3.1輕松的依賴管理
Spring Boot Maven文件樣本
如果您看上面的圖片,您將看到以spring-boot-starter- *開頭的依賴項列表。 現在,讓我們以spring-boot-starter-data-jpa依賴關系為例。 這將提取所有spring數據的jpa依賴關系。因此,我們無需手動在Maven xml文件中聲明所有jpa依賴關系,例如HIbernate等。 因此,作為開發人員,我們可以節省大量時間和資源,無需手動執行依賴項管理
3.2自動配置
如上所示,我們不需要在spring bean xml文件中顯式定義EntityManagerFactory bean定義等。如果在類路徑中有oracle,Sybase之類的數據庫驅動程序,它將通過查看datasource.properties自動創建一個Data Source bean文件放在類路徑中,并將其與Sybase,Oracle等基礎數據庫連接。
3.3嵌入式Web服務器支持
如果您查看Spring Boot App Maven xml文件,其中已包含spring-boot-starter-web依賴項
這個Spring-boot-starter-tomcat依次添加spring-boot-starter-tomcat,然后從主類執行SpringApplication.run方法后,它將啟動一個嵌入式的tomcat容器,該容器最終將在其上部署我們的spring boot應用程序。
4.為什么在創建微服務時使用spring boot?
正如我們已經看到的那樣,通過其依賴項管理和自動配置進行的Spring Boot簡化了并簡化了應用程序的開發過程。 現在,我們了解了Spring Boot在創建微服務方面的確切幫助。 為了更好地理解它,讓我們首先嘗試從Wikipedia獲得Micro Services的確切定義。
在計算中,微服務是相互獨立的小型,獨立進程,相互通信以形成利用與語言無關的API的復雜應用程序。 這些 服務 ? 是小型積木,高度 分離 ? 并專注于完成一項小任務, ? 促進 模塊化 ? 方法 系統 路技術。 微服務架構風格正成為構建持續部署的系統的標準。
現在,如果我們嘗試理解以上內容,那就說明微服務是最小的業務流程,它們相互通信以形成復雜的業務應用程序。眾所周知,業務流程非常敏捷,并且隨著復雜性的變化不斷發展和增長因此,理想情況下,要解決這種復雜性,應該提供一種技術方案,其中可以無縫集成業務變更和新流程,并且停機時間要少得多,這比使用Spring Boot創建微服務更好。看到了上面的優點。
5.結論
在本文中,我們已經看到了使用Spring Boot創建微服務的優勢。 在本系列的下一部分中,我們將介紹Spring Boot Framework所需的其他組件,以創建健壯的微服務架構。
翻譯自: https://www.javacodegeeks.com/2016/05/spring-boot-preferred-framework-creating-micro-services.html
總結
以上是生活随笔為你收集整理的什么是Spring Boot以及为什么它是用于创建微服务的首选框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓继承者SLG(安卓继承)
- 下一篇: linux命令压缩文件夹(linux命令