美文网首页
七、springCloud配制中心

七、springCloud配制中心

作者: joy_蓝蜘蛛 | 来源:发表于2018-07-19 11:04 被阅读12次

此项目还在在之前的项目中进行修改

说明:

配制中心分为服务端、客户端。一个服务端和多个客户端。
服务端:就是去连接配制文件的。在springCloud中连接的是git服务器端拿配制文件.这里以码云作为git服务器进行演示
客户端: 是通过服务端配制再到git服务器去拿配制。

结构

本节 配制服务中心 会新建项目,在原来的项目中的 订单微服务 作为 客户端 ,当然配制服务中心也可以与 注册中心 写在同一个项目当中。

一、搭建配制服务中心

1.新建springboot项目,项目目录如下

image.png

2.pom.xml文件

<?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>

    <groupId>com.joychen.config.server</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>configserver</name>
    <description>configserver</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.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.M8</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

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


</project>

主要引入的是这两个


image.png

3.application.yml配制文件

image.png
server:
  port: 8889
spring:
  application:
    name: config-server
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/joychen1579/springconfigmytest.git
          search-paths: config-repo
          username: xxxxxxxx
          password: xxxxxx
          default-label: master

这里把用户名去了。你们要用你们自己的

uri: https://gitee.com/joychen1579/springconfigmytest.git
是我在码云上的项目地址

image.png

4.启动类说明

主要是这个

package com.joychen.config.server;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;

@EnableConfigServer
@SpringBootApplication
public class ConfigserverApplication {

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


5.启动服务器和测试服务器

上面代码写完后直接启动。
启动完后输入

http://localhost:8889/foo/dev

得到结果如下,说明启动成功!


image.png

二、客户端实现

在原来的订单微服务上加代码

1.首先在pom.xml中加入


        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>

2.在控制层加入

image.png
package com.joychen.euorder.controllers;

import com.joychen.euorder.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class OrderController {

    @Value("${appname}")
    private String appname;

    @Autowired
    private OrderService orderService;


    @RequestMapping("/getAllUsers")
    public List<String> getAllUsersMember(){

        return orderService.getAllUsers();
    }

    @RequestMapping("/getOrderName")
    public String getOrderName(){
        return "ORDER_AABCCDDEEFFGG";
    }

    @RequestMapping("/appname")
    public String getAppName(){
        return appname;
    }

}

3、加入配制文件bootstrap.yml

image.png
spring:
  cloud:
    config:
      name: order-server     #这个名字跟git上的文件要对应上
      profile: dev
      uri: http://localhost:8889     #这个是配制中心的地址
      label: master    #git上的主分支

4.看一下git上的文件和内容

文件

image.png
内容
image.png

三、启动项目进行测试

测试地址是订单地址http://localhost:7880/appname
结果

image.png

相关文章

网友评论

      本文标题:七、springCloud配制中心

      本文链接:https://www.haomeiwen.com/subject/kdnzpftx.html