欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot項目與Nacos配置全過程

 更新時間:2024年11月28日 15:07:07   作者:小喬努力變強  
本文介紹了如何在SpringBoot項目中使用Nacos作為配置中心,實現(xiàn)動態(tài)配置管理和實時更新配置的能力,通過配置命名空間和yml文件,創(chuàng)建SpringBoot項目并添加Nacos依賴,編寫Controller和啟動類,配置Tomcat啟動程序,最終在Nacos服務端注冊成功

Spring Boot是一個開發(fā)Java應用程序的框架,而Nacos是一個用于配置管理和服務發(fā)現(xiàn)的開源平臺。

在Spring Boot項目中使用Nacos作為配置中心,可以實現(xiàn)動態(tài)配置管理和實時更新配置的能力。

一、Nacos服務端配置命名空間和yml文件

注意:建議大家以自己的名字全拼命名,防止大家搞混

yml 與properties文件區(qū)別?

YML(YAML)和Properties文件是兩種常見的配置文件格式,用于存儲應用程序或系統(tǒng)的配置信息。

它們有以下區(qū)別:

  • 語法結構:YML使用縮進和冒號來表示層級關系,而Properties文件使用鍵值對的形式表示配置項。
  • 可讀性:YML文件使用縮進和結構化的語法,因此更易于閱讀和理解。相比之下,Properties文件使用簡單的鍵值對結構,可讀性較差。
  • 復雜性:YML文件支持更復雜的數(shù)據(jù)結構,如列表、嵌套對象等,可以更靈活地表示配置信息。Properties文件只支持簡單的鍵值對,不支持復雜數(shù)據(jù)結構。
  • 擴展性:YML文件可以輕松地添加注釋,以及處理更復雜的配置需求。Properties文件不支持注釋,且在處理復雜配置時可能變得冗長和難以維護。
  • 應用場景:YML文件適用于需要更復雜結構和層級關系的配置信息,例如Spring Boot應用程序的配置文件。Properties文件適用于簡單的鍵值對配置,常用于Java應用程序的配置文件。

二、創(chuàng)建SpringBoot項目

在Idea中左上角選擇【File】,右擊選擇【New】,右擊選擇【Project】

此處我們要建立的是SpringBoot項目,在左邊的列表中選擇【Spring Initializer】,填寫項目的名稱,配置jdk版本,此處根據(jù)自己的實際需要進行配置即可,完成之后點擊【Next】

展開【W(wǎng)eb】下拉列表,勾選上【Spring Web】,完成后點擊【Finish】

項目創(chuàng)建成功之后我們會發(fā)現(xiàn)會有很多文件夾和文件,我們只需要留下【pom.xml】文件即可,其余文件我們暫時用不到可以先刪除

在父pom.xml中添加spring boot,spring cloud,spring cloud alibaba三個依賴

<dependencyManagement>
  <dependencies>
    <!--spring boot,spring cloud,spring cloud alibaba-->
    <!--選用官網(wǎng)穩(wěn)定的版本-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>2.3.12.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-dependencies</artifactId>
      <version>Hoxton.SR12</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>

    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-alibaba-dependencies</artifactId>
      <version>2.1.2.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

修改父pom.xml中配置的SpringBoot版本

可能會出現(xiàn)版本不兼容的問題,我們在這里將SpringBoot版本修改為【2.3.12.RELEASE】

三、創(chuàng)建子服務

這時候我們要新建兩個子服務

點擊項目名【NacosInstance】右擊選擇【New】,右擊選擇【Module】

要創(chuàng)建兩個子服務都是普通的Maven項目,所以這里我們選擇【Maven】就可以,完成后點擊【Next】

輸入新創(chuàng)建服務的名稱和地址,完成后點擊【Finish】

此時項目中就多了一個名叫order-Service的服務,我們?yōu)樾绿砑拥姆张渲胣acos依賴,點擊進入oser-service服務的【pom.xml】文件

<dependencies>
        <!-- nacos服務注冊/發(fā)現(xiàn)-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--nacos配置中心來做配置管理-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
</dependencies>

在order-Service子服務的src文件夾中,選擇【resources】右擊新建一個yml配置文件,并進行nacos的配置

server:
  port: 9000
  servlet:
    context-path: /order-Service
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 152.136.111.77:5555
        namespace: 10ecded1-361f-45d7-a009-ad2355304ff5
      config:
        server-addr: 152.136.111.77:5555
        namespace: 10ecded1-361f-45d7-a009-ad2355304ff5
        prefix: order
        file-extension: yml
  application:
    name: order

四、Controller編寫

在order-Service服務中按照下圖的格式新建兩個文件,分別為啟動類和請求類

在【OrderController】類中編寫請求的邏輯代碼

package order.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/placeOrder")
@Controller
public class OrderController {
    @GetMapping("/order")
    public String placeOrder(){
        return "已下單";
    }
}

在【OrderServiceApplication】類中編寫程序啟動邏輯

package order;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableDiscoveryClient
public class OrderServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderServiceApplication.class, args);
    }
}

五、Tomcat啟動程序

配置成功

此時,我們再次在瀏覽器中打開Nacos服務端,點擊【服務列表】,我們配置的order-Service服務就注冊成功啦!!

總結

通過以上步驟,就可以在Spring Boot項目中使用Nacos作為配置中心,并實現(xiàn)動態(tài)配置管理。

在Nacos中更新配置后,應用程序?qū)⒆詣荧@取最新的配置值。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java+Freemarker實現(xiàn)根據(jù)XML模板文件生成Word文檔

    Java+Freemarker實現(xiàn)根據(jù)XML模板文件生成Word文檔

    這篇文章主要為大家詳細介紹了Java如何使用Freemarker實現(xiàn)根據(jù)XML模板文件生成Word文檔,文中的示例代碼講解詳細,感興趣的小伙伴可以學習一下
    2023-11-11
  • Java?17的一些新特性介紹

    Java?17的一些新特性介紹

    這篇文章主要介紹了Java?17的一些新特性介紹,Java添加了許多Java開發(fā)人員渴望的特性和改進,下文就來學習一下這些特性吧,需要的朋友可以參考一下
    2022-04-04
  • JavaWeb實現(xiàn)Session跨頁面?zhèn)鬟f數(shù)據(jù)

    JavaWeb實現(xiàn)Session跨頁面?zhèn)鬟f數(shù)據(jù)

    本文主要介紹了 JavaWeb實現(xiàn)Session跨頁面?zhèn)鬟f數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • 初步認識JVM的體系結構

    初步認識JVM的體系結構

    大家都知道,Java中JVM的重要性,學習了JVM你對Java的運行機制、編譯過程和如何對Java程序進行調(diào)優(yōu)相信都會有一個很好的認知.在面試中JVM也是非常重要的一部分,比如JVM調(diào)優(yōu),JVM對象分配規(guī)則,內(nèi)存模型、方法區(qū),還有種要GC等,需要的朋友可以參考下
    2021-06-06
  • 一文帶你深入了解Java的自動拆裝箱

    一文帶你深入了解Java的自動拆裝箱

    Java推出了對于基本數(shù)據(jù)類型的對應的對象,將基本數(shù)據(jù)類型轉(zhuǎn)換為對象就稱為裝箱,反之則是拆箱,本文主要為大家介紹了Java自動拆裝箱的原理與應用,需要的可以參考下
    2023-11-11
  • 關于JAVA經(jīng)典算法40題(超實用版)

    關于JAVA經(jīng)典算法40題(超實用版)

    本篇文章小編為大家介紹一下,關于JAVA經(jīng)典算法40題(超實用版),有需要的朋友可以參考一下
    2013-04-04
  • Spring定時任務注解@Scheduled詳解

    Spring定時任務注解@Scheduled詳解

    這篇文章主要介紹了Spring定時任務注解@Scheduled詳解,@Scheduled注解是包org.springframework.scheduling.annotation中的一個注解,主要是用來開啟定時任務,本文提供了部分實現(xiàn)代碼與思路,需要的朋友可以參考下
    2023-09-09
  • Spring MVC數(shù)據(jù)處理和亂碼問題詳解

    Spring MVC數(shù)據(jù)處理和亂碼問題詳解

    這篇文章主要給大家介紹了關于Spring MVC數(shù)據(jù)處理和亂碼問題的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • idea不使用maven如何將項目打包

    idea不使用maven如何將項目打包

    使用IDEA 2021版本,不借助Maven進行打WAR包的步驟是:首先點擊Project Structure,然后點擊Artifacts,接著選擇需要的打包類型,設置好包的名稱,最后進行打包,這種方法適用于不使用Maven進行項目管理的情況
    2024-09-09
  • Spring的@PreAuthorize注解自定義權限校驗詳解

    Spring的@PreAuthorize注解自定義權限校驗詳解

    這篇文章主要介紹了Spring的@PreAuthorize注解自定義權限校驗詳解,由于項目中,需要對外開放接口,要求做請求頭校驗,不做其他權限控制,所以準備對開放的接口全部放行,不做登錄校驗,需要的朋友可以參考下
    2023-11-11

最新評論