1. 程式人生 > >微服務構建:Spring Boot

微服務構建:Spring Boot

Spring Boot——用於構建微服務的基礎框架

使用Spring框架時,會發現其配置檔案比較複雜,許多內容經常都只是複製貼上,比如通過Maven構建專案時,我們可以通過配置檔案來自動匯入依賴的jar包,但要使應用支援Spring,我們就要寫不少程式碼,而且還要排查是否有遺漏的jar包,這不利於專案的快速構建和開發。spring boot的出現有效改善這種問題,它設計了大量的自動化配置來簡化Spring原有樣板化配置,使得開發者可以快速構建應用。

除了解決配置問題外,Spring Boot還通過一系列的Starter POMs的定義,讓我們整合各項功能的時候,不需要在Maven的pom.xml中維護那些複雜的依賴關係,而是通過類似模組化的Starter模組定義來引用,使得依賴管理工作變得很簡單。

沒使用Spring Boot之前的pom.xml
只列出一個專案中的部分依賴

<dependencies>
    ...
    ...
    ...
    <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </dependency>
        <dependency
>
<groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId
>
</dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>4.2.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.2.4.RELEASE</version> </dependency> <!-- JSP相關 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <scope>provided</scope> </dependency> ... ... </dependencies>

使用Spring Boot的pom.xml
web相關依賴

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

同時,Spring Boot除了可以很好融入Docker之外,其自身也支援嵌入式的Tomcat,Jetty等容器。通過Spring Boot構建的應該不需要再安裝Tomcat,將應用達成war包,然後把war包部署到Tomcat上這些操作,只需要將Spring Boot應用打成jar包,通過java -jar jar包 就能執行一個標準化的web應用了。

快速構建Spring Boot專案

通過官方的專案構建工具Spring Initializr生成一個Spring Boot的基礎專案

這裡寫圖片描述

根據需求選擇不同的構建工具和版本,以及依賴項,Generate Project後,會生成一個壓縮檔案,解壓後,通過Idea匯入maven專案。目錄結構如下:

這裡寫圖片描述

相關推薦

服務構建Spring Boot

Spring Boot——用於構建微服務的基礎框架 使用Spring框架時,會發現其配置檔案比較複雜,許多內容經常都只是複製貼上,比如通過Maven構建專案時,我們可以通過配置檔案來自動匯入依賴的jar包,但要使應用支援Spring,我們就要寫不少程式

服務構建框架spring-boot使用——整合企業開發框架

網際網路技術飛快發展,微服務勢必會成為一種趨勢。大名鼎鼎的spring-boot在微服務構建方面表現出色,再者因為是spring家族的產品,很快就得以流行。 本專案將企業開發框架整合到spring-boot中去,力求達到企業開發標準,也希望這篇文章對大家有所啟發。技術有限,能力不足,有錯誤的地方

Spring Boot (九) 服務應用監控 Spring Boot Actuator 詳解

1. 引言 在當前的微服務架構方式下,我們會有很多的服務部署在不同的機器上,相互是通過服務呼叫的方式進行互動,一個完整的業務流程中間會經過很多個微服務的處理和傳遞,那麼,如何能知道每個服務的健康狀況就顯得尤為重要。 萬幸的是 Spring Boot 為我們提供了監控模組 Spring Boot Actua

服務中基於Spring Boot的maven分散式專案框架的搭建

專案介紹 在微服務架構中,傳統的 maven 專案已經無法滿足,開始走向分散式架構,本專案主要搭建一個空的 maven 分散式架構,可以運用到實際專案中進行擴充套件,可以在文末獲取原始碼和更多資源。 這裡搭建的是基於 maven 的分散式工程,因為在一個專案中,多個微服務是屬於同

服務中基於Spring Boot的maven分布式項目框架的搭建

struct batis tmpl 接收 modules 展現 子模塊 server face 項目介紹 這裏搭建的是基於 maven 的分布式工程,因為在一個項目中,多個微服務是屬於同一個工程,只不過是提供不同的服務而已,再加上 IDEA 是默認一個窗口打開一個項目工程(

從零開始 Spring Cloud框架系列spring boot

Spring 頂級專案,包含眾多,我們重點學習一下,SpringCloud專案以及SpringBoot專案 ————————————————————main———————————————————— 一、SpringCloud專案簡介   Spring Cloud:

如何零基礎搭建一套服務框架(Spring Boot + Dubbo + Docker + Jenkins)

本文將以原理+實戰的方式,首先對“微服務”相關的概念進行知識點掃盲,然後開始手把手教你搭建這一整套的微服務系統。 這套微服務框架能幹啥? 這套系統搭建完之後,那可就厲害了: 微服務架構 你的整個應用程式將會被拆分成一個個功能獨立的子系統,獨立執行,系統與系統之間

服務架構之Spring Boot入門

            今天我們來說說微服務,但是首先要說說我們目前開發的大部分專案,目前我們開發的專案都是比較集中的單體應用,就是將所有功能集中在一起,在專案擴充套件過程中,升級,優化某一部分就會影響所有的模組,在管理和升級中有利有弊,並且所有模組相對集中,依賴較強,為了

構建服務Spring boot 入門篇

public class HelloWorldControlerTests { private MockMvc mvc; @Before public void setUp() throws Exception { mvc = MockMvcBuilders.stand

構建服務Spring boot

  Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力於在蓬勃發展的快速應用開發領域(rapid applicat

構建服務Spring boot 入門篇(一)

<dependencies>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-devtools<

基於Spring Cloud的服務構建學習-2 Spring Boot

html art ann 發布 class start pid 問題 需要 基於Spring Cloud的微服務構建學習-2 Spring Boot 為什麽使用Spring Boot而不是Spring   Spring Boot具有自動化配置,快速開發,輕松部署優點,非

Spring Cloud構建服務架構服務消費(基礎)

消費 ring str frame emp default class a template pom.xml 使用LoadBalancerClient在Spring Cloud Commons中提供了大量的與服務治理相關的抽象接口,包括DiscoveryClient、這裏我

Spring Cloud構建PC蛋蛋源碼下載服務架構服務消費(基礎)

true ota ctu temp control lan prope 源碼下載 builder PC蛋蛋源碼下載論壇:haozbbs.com Q1446595067 使用LoadBalancerClient 在Spring Cloud Commons中提供了大量的與服務治

Spring Cloud構建服務架構服務註冊與發現 Eureka

Spring Cloud構建微服務架構:服務註冊與發現Eureka 【Dalston版】 原創   2018-04-10  宗野   Spring Cloud 已經

Spring Cloud構建服務架構服務容錯保護(Hystrix服務降級)

tro sco load 服務架構 延遲 正常 map ati href 動手試一試 在開始使用Spring Cloud Hystrix實現斷路器之前,我們先拿之前實現的一些內容作為基礎,其中包括: eureka-server工程:服務註冊中心,端口:1001 eurek

Spring Cloud構建服務架構服務消費(Ribbon)

Spring Cloud Ribbon Spring Cloud Ribbon是基於Netflix Ribbon實現的一套客戶端負載均衡的工具。它是一個基於HTTP和TCP的客戶端負載均衡器。它可以通過在客戶端中配置ribbonServerList來設定服務端列表去輪詢訪問以達到均衡負載的作用。 當Rib

Spring Cloud構建服務架構服務消費(Feign)

Spring Cloud Feign Spring Cloud Feign是一套基於Netflix Feign實現的宣告式服務呼叫客戶端。它使得編寫Web服務客戶端變得更加簡單。我們只需要通過建立介面並用註解來配置它既可完成對Web服務介面的繫結。它具備可插拔的註解支援,包括Feign註解、JAX-RS註解

Spring Cloud構建服務架構服務註冊與發現(Eureka、Consul)

Spring Cloud簡介 Spring Cloud是一個基於Spring Boot實現的雲應用開發工具,它為基於JVM的雲應用開發中涉及的配置管理、服務發現、斷路器、智慧路由、微代理、控制匯流排、全域性鎖、決策競選、分散式會話和叢集狀態管理等操作提供了一種簡單的開發方式。 Spring Cloud包含

Spring Cloud構建服務架構服務註冊與發現(Eureka)

1. Spring Cloud簡介 Spring Cloud是一個基於Spring Boot實現的雲應用開發工具,它為基於JVM的雲應用開發中涉及的配置管理、服務發現、斷路器、智慧路由、微代理、控制匯流排、全域性鎖、決策競選、分散式會話和叢集狀態管理等操作提供了