Nacos学习笔记(四)----配置中心

x33g5p2x  于2021-12-20 转载在 其他  
字(4.3k)|赞(0)|评价(0)|浏览(266)

Nacos配置中心操作步骤:

一.进入nacos控制台界面,在”配置列表”点击”加号按钮”新建配置

二.在”新建配置”页新建配置

相关概念可参考:https://nacos.io/zh-cn/docs/concepts.html

三.发布配置

四.查看”配置列表”

新建springboot项目:

一.Pom文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.nacos</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>nacos-config</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.SR2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>0.2.1.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!--MVC-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--nacos配置中心-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <!--Lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.2</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

重点是加入Nacos配置中心客户端模块:

注意:

**    此处没有引入注册中心客户端模块,Nacos配置中心和注册中心可以独立使用**

二.配置文件:

内容:

spring.application.name=nacos-config-client
server.port=8003
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

注意:

**    1.配置文件必须使用”bootstrap.properties”**

  ** 2.”bootstrap.properties”**文件的”spring.application.name”属性值要与Nacos控制台配置的Data Id(除去’.properties’后缀)相同

三.接口:

@SpringBootApplication
public class NacosConfigApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacosConfigApplication.class, args);
    }

    @RestController
    @RefreshScope
    static class Test {

        @Value("${jmdz.title}")
        private String title;

        @GetMapping("/test")
        public String test() {
            return title;
        }
    }
    
}

四.启动项目:

日志信息:

2019-05-05 16:55:19.771  INFO 24976 --- [-127.0.0.1_8848] o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: 'nacos-config-client.properties', group: 'DEFAULT_GROUP'
2019-05-05 16:55:19.771  INFO 24976 --- [-127.0.0.1_8848] b.c.PropertySourceBootstrapConfiguration : Located property source: CompositePropertySource {name='NACOS', propertySources=[NacosPropertySource {name='nacos-config-client.properties'}]}

说明连接到了配置中心,配置加载成功

注意:

**    我的配置文件”bootstrap.properties”中,并没有”jmdz.title”这个自定义属性。如果项目启动报错,提示”jmdz.title”属性注入失败,多半是因为项目配置文件中”spring.application.name”的属性值与Nacos控制台配置的Data Id(除去’.properties’后缀)不一致导致**

验证:

一.访问测试接口:

没有问题,配置成功加载

二.通过Nacos控制台修改配置(项目不用重启,保持运行就可以):

    1.点击”编辑”

    2.修改”配置内容”:

    3.点击”发布”:

    4.项目日志:

2019-05-05 17:25:07.707  INFO 24976 --- [-127.0.0.1_8848] o.s.c.e.event.RefreshEventListener       : Refresh keys changed: [jmdz.title]

刷新成功

    5.再次访问接口:

内容改变,Nacos配置中心的基本使用完成!

附录(Nacos Config 共享配置方案设计):

https://github.com/spring-cloud-incubator/spring-cloud-alibaba/issues/141

相关文章