Heim  >  Artikel  >  Java  >  Wie SpringBoot Nacos integriert, um das Registrierungscenter und das Konfigurationscenter zu implementieren

Wie SpringBoot Nacos integriert, um das Registrierungscenter und das Konfigurationscenter zu implementieren

PHPz
PHPznach vorne
2023-05-12 11:40:221895Durchsuche

SpringBoot integriert Nacos

Einführung von Maven-Abhängigkeiten

Zunächst müssen wir noch Maven-Abhängigkeiten einführen

<!--注册中心的依赖-->
<dependency>
    <groupId>com.alibaba.boot</groupId>
    <artifactId>nacos-discovery-spring-boot-starter</artifactId>
    <version>0.2.3</version>
</dependency>
<!-- 配置中心的依赖 -->
<dependency>
    <groupId>com.alibaba.boot</groupId>
    <artifactId>nacos-config-spring-boot-starter</artifactId>
    <version>0.2.3</version>
</dependency>

Hier ist eines zu beachten: Die Abhängigkeitsversionen des Registrierungscenters und des Konfigurationscenters sollten entsprechend SpringBoot ausgewählt werden Version. Version 0.2.x.RELEASE entspricht der Spring Boot 2.x-Version und Version 0.1.x.RELEASE entspricht der Spring Boot 1.x-Version. Die SpringBoot-Version, die ich hier verwende, ist 2.2.4.RELEASE, daher habe ich die 0.2.3-Version des Registrierungscenters und des Konfigurationscenters ausgewählt.

Konfiguration hinzufügen

Der nächste Schritt besteht darin, relevante Konfiguration in application.yml hinzuzufügen????

Server:
Port: 80
Servlet:
Kontextpfad: /
Spring:
Anwendung:
Name: NacosDemo
nacos:
config:
server-addr: 127.0.0.1:8848
Discovery:
server-addr: 127.0.0.1:8848

Beispielcode

Zuerst müssen wir der Annotation der Projektstartklasse zwei Nacos hinzufügen ????

import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
import com.alibaba.nacos.spring.context.annotation.discovery.EnableNacosDiscovery;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@EnableNacosDiscovery //注册中心注解 使用nacos
@NacosPropertySource(dataId = "product_config",autoRefreshed = true) //配置中心注解:autoRefreshed 代表自动刷新注解
public class NacosdemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(NacosdemoApplication.class, args);
    }
}

Als nächstes müssen wir eine weitere Nacos-Konfigurationsdatei hinzufügen????

import com.alibaba.nacos.api.annotation.NacosInjected;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
/**
 * @program: NacosDemo
 * @description: NacosConfig
 **/
@Configuration
public class NacosConfig {
    @Value("${server.port}")
    private int serverPort;
    @Value("${spring.application.name}")
    private String applicationName;
    @NacosInjected
    private NamingService namingService;
    @PostConstruct
    public void registerInstance() throws NacosException {
        namingService.registerInstance(applicationName, "127.0.0.1", serverPort);
    }
}

Schließlich schreiben wir eine Controller-Klasse, die das Erhalten von Konfigurationsparametern simuliert????

import com.alibaba.nacos.api.config.annotation.NacosValue;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * ConfigController 配置控制器
 * @description: ConfigController
 **/
@RestController
@RequestMapping("/test")
public class ConfigController {
    @NacosValue(value = "${productName}",autoRefreshed = true)
    private  String productName;
    @RequestMapping("/productName")
    public String getProductName(){
        return productName;
    }
}

Der Code ist jetzt fertig. Nun, da wir Wenn wir über einen Controller verfügen, der Konfigurationsparameter abruft, müssen wir auch einen abzurufenden Konfigurationsparameter definieren. Wir starten Nacos, melden uns auf seiner Backend-Seite an, suchen die Konfigurationsliste in der Konfigurationsverwaltung auf der linken Seite und erstellen unter der Konfigurationsliste eine neue Konfiguration.

Wie SpringBoot Nacos integriert, um das Registrierungscenter und das Konfigurationscenter zu implementieren

Wie SpringBoot Nacos integriert, um das Registrierungscenter und das Konfigurationscenter zu implementieren

❗❗❗Hier unbedingt beachten❗❗❗: Beim Hinzufügen von Parametern auf der Nacos-Verwaltungsseite muss der eingegebene Daten-ID-Wert mit dem dataId-Wert in der Annotation @NacosPropertySource beim Start übereinstimmen class ; Und beim Definieren des Konfigurationsinhalts muss der Name der Konfiguration mit dem im Controller definierten Namen übereinstimmen. Unabhängig davon, welcher der beiden Namen nicht übereinstimmt, wird beim Starten des Projekts die Fehlermeldung angezeigt, dass die Konfiguration nicht gefunden werden kann.

Zu diesem Zeitpunkt sind der Code und die Konfiguration vorbereitet. Starten wir das Projekt, um die spezifischen Auswirkungen zu sehen ... Nachdem das Projekt gestartet wurde, finden wir die Dienstliste unter Dienstverwaltung auf der linken Seite der Nacos-Verwaltungsseite. Öffnen Sie die Serviceliste, um zu sehen: Unser Projekt wurde erfolgreich in Nacos registriert.

Wie SpringBoot Nacos integriert, um das Registrierungscenter und das Konfigurationscenter zu implementieren

Als nächstes besuchen wir http://localhost/test/productName im Browser und können sehen, dass unsere neue Konfiguration erfolgreich entfernt wurde. Wenn die Konfiguration zu diesem Zeitpunkt geändert werden muss, müssen wir nur die entsprechende Konfiguration im Hintergrund von Nacos ändern und dann die Seite aktualisieren, um zu sehen, dass die Konfiguration dynamisch aktualisiert wurde

Wie SpringBoot Nacos integriert, um das Registrierungscenter und das Konfigurationscenter zu implementieren

Wie SpringBoot Nacos integriert, um das Registrierungscenter und das Konfigurationscenter zu implementieren

Das obige ist der detaillierte Inhalt vonWie SpringBoot Nacos integriert, um das Registrierungscenter und das Konfigurationscenter zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen