windows 10 搭建基于spring cloud2.x本地文件配置中心及测试验证

 

一、开发工具:

STS4

二、JDK 8

三、利用向导创建配置中心的spring boot 项目(细节略)

1、因为配置中心也是个spring boot项目

2、选择项目依赖,注意spring boot版本

勾选Spring Cloud Config的Config Server选项

3、POM.xml 关键的依赖其实主要包含两部分:

    <properties>
		<spring-cloud.version>Hoxton.SR6</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-config-server</artifactId>
		</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>

4、创建配置中心的spring boot引导程序并加上配置服务的注解

@EnableConfigServer

5、在静态目录下创建配置文件

这里用到的是yml格式,properties也可以

server:
  port: 8888
spring:
  profiles:
    active: native
  cloud:
    config:
      server:
          native:
            search-locations:
              - file:///E:/Develop/springcloud/nativeconfig/testconfigserver/

注意因为是windows 环境,所以文件路径是“file:///”开头的,如果是linux,那么是“/”开头,如:/home/user1

这个目录下放的就是各个应用或模块的spring boot程序的各环境下的配置文件(后面会介绍)

6、配置中心到此搭建完成

 

四、创建应用或模块的spring boot程序

1、配置文件说明

这里的spring boot程序(项目)可能在不同的环境下有不同的配置文件,如开发环境或生产环境,可以带上dev或pat

2、配置文件命名

主要包含两方面组成:

  • 第一:有人叫环境,也有人叫类别,官方称作:profile
  • 第二:叫标签,官方称作:label,是可选的,可能和代码分支名称有关,如:matser

不细说了,说明如下:

/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
  • application,就是你的应用的spring boot程序名,本例是:spbtvali
  • profile,就是上面说的环境,如:dev
  • label,就是代码分支的名称,如:master,可选(不选就是空)

本例中命名为:有两个,一个是默认的:spbtvali.yml,另一个是dev环境的:spbtvali-dev.yml

3、配置文件保存路径

还记得否?保存在前述application.yml文件中的:

search-locations:
              - file:///E:/Develop/springcloud/nativeconfig/testconfigserver/

两个示例文件内容如下:

  • spbtvali.yml
file:
    suffix: spring-cloud-default
sittmpuri: www.baidu.com
  • spbtvali-dev.yml
sittmpuri: www.sohu.com

4、配置文件项的默认值和覆盖值

前面说过,每个spring boot程序有一个默认的配置文件,如果的spring boot程序启动时指定了某个环境的配置文件,如:dev,那么spring boot程序会从配置中心读取相应,即该环境下映射的配置文件的配置项,如:spbtvali-dev.yml文件里没有file.suffix这个配置项,那么spring boot程序就会从默认配置文件中读取,如:file.suffix的值为:spring-cloud-default;如果两个文件都有相同的配置项,如:sittmpuri,那么spring boot程序读取的配置项的值为:www.baidu.com

5、创建spring boot应用程序

也是根据向导创建,过程略

6、POM.xml关键的依赖其实也主要包含两部分:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
    <version>2.2.1.RELEASE</version>
</dependency>
        
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-context</artifactId>
    <version>2.2.1.RELEASE</version>
</dependency>

7、bootstrap.yml

这个文件很重要,即你的应用的spring boot程序启动时将确定用什么环境的配置文件(此文件启动加载的顺序优先于你spring boot程序的其他配置文件,如:application.yml)

spring:
  application:
    name: spbtvali
  profiles:
    active: default
  cloud:
    config:
      uri: http://localhost:8888

注意:active后边的配置,本例中用的是default环境(或叫profile),即你的spring boot程序启动时将加载spbtvali.yml文件配置项,如果你将default改为:dev,那么你的spring boot程序启动时将加载spbtvali-dev.yml文件配置项

8、测试 controller

@RequestMapping("/testit")
@RestController

public class TestController {
	
	@Autowired
	public UserInfoService us;
	
	@Value("${sittmpuri}")
	public String sitTmpUri;
	
	@GetMapping("insit")
	public UserInfo insert(@Validated UserInfo uiUser) {
		
		UserInfo u = us.insert(uiUser);
		System.out.println(sitTmpUri);
		return u;
	}
}

因为目前环境是default,即加载配置中心下的spbtvali.yml文件配置项,故代码:System.out.println(sitTmpUri);的结果是:www.baidu.com

9、Good luck!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值