Spring Cloud Properties、YAML 配置

不定时会更新关于大数据的文章

喜欢小编的就动动你的小手指点点关注

会有大量惊喜等着你的哦

快来点爆我的文章吧

等你哟

目录

Spring Cloud YAML 配置详解1

Properties详解2

自定义参数2

参数引用3

随机数4

外部参入4

多环境配置5

YAML6

YAML有以下基本规则:6

使用YAML完成多环境配置7

在之前的实例中,我们使用了src/main/resources/application.properties对我们的项目做了个性化的配置,这种配置方式简单明了,也是我们经常使用的

但是应对复杂的商业需求下,多环境和编程化的配置无法得以满足

为此Spring Cloud为我们提供了YAML的配置方式丰富我们的功能和简化我们的开发同时也能简单明了的分辨配置内容。

Properties详解

自定义参数

自定义参数可以让我们在配置文件中定义一些参数以供在程序中使用

在这里我们使用Spring注解的方式实现这个功能

首先创建一个实体类

@Component

public class Dalao {

@Value("${dalao.name}")

private String name;

@Value("${dalao.yanzhi}")

private String yanzhi;

…..getter setter省略

@Component 注解:

把普通pojo实例化到spring容器中,相当于配置文件中的

修改application.propertie增加以下配置参数

dalao.name=mashibing

dalao.yanzhi=100

使用自定义参数

Spring 管理对象

让Spring 注入对象,这里需要注意的是如果自己new的对象是没有被Spring容器管理的,所以不会自动注入属性值给我们

@Autowired

private Dalao dalao;

测试打印

System.out.println(ToStringBuilder.reflectionToString(dalao));

System.out.println(ToStringBuilder.reflectionToString(new Dalao()));

ToStringBuilder

这里用到了ToStringBuilder完成对象转字符串,要使用这个对象的话需要引入Spring的工具包commons-lang3

Pom


org.apache.commons

commons-lang3

3.7

参数引用

在application.propertie中的各个参数值是可以相互引用的

我们修改一下之前的配置

dalao.name=mashibing

dalao.yanzhi=100

dalao.desc=${dalao.name}is a good teacher,bing bu shi yin wei ${dalao.name} de yan zhi = ${dalao.yanzhi}

实体中添加

@Value("${dalao.desc}")

private String desc;

输出结果

随机数

有些特殊需求,我们不希望设置的属性值是一个固定值,比如服务器随机端口号,某些编号等,我们可以使用${radom}在配置中产生随机int,long或是string

${random.int()} = 随机int

${random.long} = 随机long

${random.int(50)} = 50以内的随机数

${random.int(50,100)} = 50~100之间的int随机数

${random.value}= 随机字符串

配置文件中使用

dalao.xiaodi.zhangyang.yanzhi=${random.int(50,100)}

dalao.xiaodi.zhangyang.xinqing=${random.value}

外部参入

在微服务架构中经常会使用自动运维部署工具,使用这些工具来启动我们的服务

我们的Spring boot程序通常是使用java –jar的方式来启动运行的

对于服务端口号或是一些其他需要在启动服务的时候才能决定的值,如果在配置中写死或是用随机明显是满足不了需求的

我们可以使用外部参数替换自定义的参数

比如临时决定服务端口:

java -jar demo-0.0.1-SNAPSHOT.jar --server.port=60

颜值同时发生变化:

java -jar demo-0.0.1-SNAPSHOT.jar --server.port=60 --dalao.xiaodi.zhangyang.yanzhi

使用外部配置方式可以让我们在服务启动时改变像服务端口,数据库连接密码,自定义属性值等等

这只是其中的一部分哟,想要下半部分的可以私信我或者在下方留言,我都会一条一条看的哟!

私信我就可以领到你想要的东西哦!

小编我会仔细阅读哦!

喜欢可以收藏点关注的哦!

https://ke.qq.com/course/215398?flowToken=1002576

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 不定时会更新关于大数据的文章 喜欢小编的就动动你的小手指点点关注 会有大量惊喜等着你的哦 快来点爆我的文章吧 等你...
    大数据客栈yi阅读 1,338评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,992评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,972评论 6 342
  • 入门 介绍 Spring Boot Spring Boot 使您可以轻松地创建独立的、生产级的基于 Spring ...
    Hsinwong阅读 16,960评论 2 89
  • 昨天下午才有时间听第四节课的录音,当听到丽冰老师说,这节课很重要的时候,我就更加认真听课了。[愉快] 当听到丽冰老...
    内外合一阅读 127评论 0 2