Rumah > Java > javaTutorial > teks badan

Bagaimana SpringBoot menyepadukan Nacos untuk melaksanakan pusat pendaftaran dan pusat konfigurasi

PHPz
Lepaskan: 2023-05-12 11:40:22
ke hadapan
1884 orang telah melayarinya

SpringBoot mengintegrasikan Nacos

Memperkenalkan dependensi Maven

Pertama sekali, kami masih perlu memperkenalkan dependencies Maven

<!--注册中心的依赖-->
<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>
Salin selepas log masuk

Terdapat satu perkara yang perlu diperhatikan di sini: pusat pendaftaran dan pusat konfigurasi Versi bergantung hendaklah dipilih mengikut versi SpringBoot. Versi 0.2.x.RELEASE sepadan dengan versi Spring Boot 2.x, dan versi 0.1.x.RELEASE sepadan dengan versi Spring Boot 1.x. Versi SpringBoot yang saya gunakan di sini ialah 2.2.4.RELEASE, jadi saya memilih versi 0.2.3 pusat pendaftaran dan pusat konfigurasi.

Tambah konfigurasi

Langkah seterusnya ialah menambah konfigurasi yang berkaitan dalam application.yml????

pelayan:
port: 80
servlet:
context-path: /
spring:
application:
name: NacosDemo
nacos:
config:
server-addr: 127.0.0.1:8848
penemuan:
server-addr: 127.0.0.1:8848

Contoh kod

Mula-mula kita perlu menambah dua anotasi Nacos pada kelas permulaan projek? ??

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);
    }
}
Salin selepas log masuk

Seterusnya kita perlu menambah satu lagi fail konfigurasi Nacos????

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);
    }
}
Salin selepas log masuk

Akhirnya kita menulis kelas Pengawal yang mensimulasikan mendapatkan parameter konfigurasi????

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;
    }
}
Salin selepas log masuk

Kod itu kini sedia Memandangkan kita mempunyai Pengawal yang memperoleh parameter konfigurasi, kita mesti menentukan parameter konfigurasi untuk diperolehi. Kami memulakan Nacos, log masuk ke halaman belakangnya, cari senarai konfigurasi dalam pengurusan konfigurasi di sebelah kiri, dan buat konfigurasi baharu di bawah senarai konfigurasi.

Bagaimana SpringBoot menyepadukan Nacos untuk melaksanakan pusat pendaftaran dan pusat konfigurasi

Bagaimana SpringBoot menyepadukan Nacos untuk melaksanakan pusat pendaftaran dan pusat konfigurasi

❗❗❗Pastikan ambil perhatian ❗❗❗ di sini: nilai ID Data yang diisi semasa menambah parameter pada halaman pengurusan Nacos Ia mesti konsisten dengan nilai dataId dalam anotasi @NacosPropertySource pada kelas permulaan dan apabila mentakrifkan kandungan konfigurasi, nama konfigurasi mesti konsisten dengan nama yang ditakrifkan dalam Pengawal. Tidak kira mana antara dua nama yang tidak sepadan, ralat yang konfigurasi tidak dapat ditemui akan dilaporkan semasa memulakan projek.

Pada ketika ini, kod dan konfigurasi telah disediakan Mari kita mulakan projek untuk melihat kesan khusus... Selepas projek dimulakan, kita dapati senarai perkhidmatan di bawah pengurusan perkhidmatan di sebelah kiri. Halaman pengurusan Nacos dan buka perkhidmatan Anda boleh lihat dalam senarai bahawa projek kami telah berjaya didaftarkan ke Nacos.

Bagaimana SpringBoot menyepadukan Nacos untuk melaksanakan pusat pendaftaran dan pusat konfigurasi

Seterusnya, kami melawati http://localhost/test/productName dalam penyemak imbas, dan kami dapat melihat bahawa konfigurasi baharu kami telah berjaya dikeluarkan. Jika konfigurasi perlu ditukar pada masa ini, kami hanya perlu mengubah suai konfigurasi yang sepadan dalam latar belakang Nacos, dan kemudian muat semula halaman untuk melihat bahawa konfigurasi telah dikemas kini secara dinamik

Bagaimana SpringBoot menyepadukan Nacos untuk melaksanakan pusat pendaftaran dan pusat konfigurasi

Bagaimana SpringBoot menyepadukan Nacos untuk melaksanakan pusat pendaftaran dan pusat konfigurasi

Atas ialah kandungan terperinci Bagaimana SpringBoot menyepadukan Nacos untuk melaksanakan pusat pendaftaran dan pusat konfigurasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan