SpringBoot集成攜程Apollo分佈式配置中心(二)

一、創建一個可以讀取配置文件自定義配置內容的springboot項目:

1.創建一個springboot項目

2.引入application.yml配置文件

server:
  port: 8001
eureka:
  client:
    service-url:
      #這個是Apollo的註冊中心地址
      defaultZone: http://192.168.40.142:8080/eureka

introduce: 這是介紹內容

3.在resources創建apollo-env.properties文件

local.meta=http://192.168.40.142:8080
dev.meta=http://192.168.40.142:8080
fat.meta=${fat_meta}
uat.meta=${uat_meta}
lpt.meta=${lpt_meta}
pro.meta=${pro_meta}

4.在resources資源目錄下創建META-INF文件夾,在該文件夾下創建app.properties文件

app.id=apollo_0719

     該文件主要是爲了創建一個唯一的appid,在Apollo配置中使用。

資源目錄如圖所示:

5.引入maven依賴

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.RC1</spring-cloud.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- apollo 攜程apollo配置中心框架 -->
        <dependency>
            <groupId>com.ctrip.framework.apollo</groupId>
            <artifactId>apollo-client</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.ctrip.framework.apollo</groupId>
            <artifactId>apollo-core</artifactId>
            <version>1.0.0</version>
        </dependency>


        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.3</version>
        </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>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>


    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

6.創建controller

@RestController
public class IndexController {
    /**
     * 使用註解讀取application.yml文件中的配置 introduce的內容
     */
    @Value("${introduce}")
    private String IntroduceApollo;

    @GetMapping("/introduce")
    public String getIntroduce() {
        return IntroduceApollo;
    }
}

7.啓動服務,訪問接口,可以看到在配置文件中的內容已經訪問到了。

二、配置Apollo客戶端

1.在服務器啓動Apollo服務時,根據提示訪問配置中心:

2.登錄Apollo,Apollo的默認賬號爲apollo  密碼爲admin  登錄成功爲如下界面,點擊創建項目

3.輸入創建項目的相關內容,注意應用id爲springboot項目中app.properties文件中的配置內容

4.創建成功後如下所示:

5.點擊新建一個配置

6.新建配置中的key輸入在application.yml文件中自定的introduce,然後重新定義一個value,提交

 

7.發佈剛纔創建的配置內容,在不發佈時,是無法推送到項目中的。

8.發佈

9.訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章