SpringBoot項目與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文檔,文中的示例代碼講解詳細,感興趣的小伙伴可以學習一下2023-11-11
JavaWeb實現(xiàn)Session跨頁面?zhèn)鬟f數(shù)據(jù)
本文主要介紹了 JavaWeb實現(xiàn)Session跨頁面?zhèn)鬟f數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07
Spring MVC數(shù)據(jù)處理和亂碼問題詳解
這篇文章主要給大家介紹了關于Spring MVC數(shù)據(jù)處理和亂碼問題的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
Spring的@PreAuthorize注解自定義權限校驗詳解
這篇文章主要介紹了Spring的@PreAuthorize注解自定義權限校驗詳解,由于項目中,需要對外開放接口,要求做請求頭校驗,不做其他權限控制,所以準備對開放的接口全部放行,不做登錄校驗,需要的朋友可以參考下2023-11-11

