此项目还在在之前的项目中进行修改
说明:
配制中心分为服务端、客户端。一个服务端和多个客户端。
结构
服务端:就是去连接配制文件的。在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.启动服务器和测试服务器
上面代码写完后直接启动。
启动完后输入
得到结果如下,说明启动成功!
image.png
二、客户端实现
在原来的订单微服务上加代码
1.首先在pom.xml中加入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
2.在控制层加入
image.pngpackage 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.pngspring:
cloud:
config:
name: order-server #这个名字跟git上的文件要对应上
profile: dev
uri: http://localhost:8889 #这个是配制中心的地址
label: master #git上的主分支
4.看一下git上的文件和内容
文件
内容
image.png
三、启动项目进行测试
测试地址是订单地址http://localhost:7880/appname
image.png
结果
网友评论