当前微服务的概念被炒的非常的火热,而Spring Boot则被赋予了”为微服务而生“的称号,相信看这篇文章的你,对微服务或者Spring Boot都有所了解了,我在该篇中也不再赘述,如果大家对Spring Boot有所兴趣,可以在公众号中留言,我会视情况而定。本文主要想讲讲配置文件相关的内容,你可能会比较疑惑,入门时期,最费时间的可能就是环境的配置
使用IDE创建工程正常情况都会生成一个application.properties
文件,但我推荐使用YAML格式的application.yml
,好处,谁用谁知道
例
girl:
height: 173
age: 20
cup: 64
注意:冒号后面一定要有一个空格
数组
languages:
- Ruby
- Perl
- Python
languages就是一个数组
变量引用
height: 178
decription: "my height is ${height}"
在decription中引用了height值
随机数
my:
random:
- "${random.value}"
- "${random.int}"
- "${random.long}"
- "${random.int(10)}"
- "${random.int[10-30]}"
使用random就可以产生随机数,可以有int、string、long等类型值
多环境配置
在实际开发中,肯定是存在开发、测试、线上多个环境的配置,如何解决这个问题
新建多个环境的配置文件,如:application-dev.yml、application-test.yml
等
在application.yml
中加上
spring:
profiles:
active: dev
如上配置则会选用dev环境的配置文件
注意:在
application.yml
中的配置是适用所有的环境的
Java环境读取配置变量
使用@Value()
注解
@Value("${shareId}")
private String shareId;
如上,就获取了shareId的值
使用@ConfigurationProperties
注解
若存在多个相同的起点的配置变量
如
girl:
height: 173
age: 20
新建一个properties的java文件,用于注入
@Component
@ConfigurationProperties(prefix = "girl")
public class GirlProperties {
private Integer age;
private String height;
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getHeight() {
return height;
}
public void setHeight(String height) {
this.height = height;
}
}
在实际业务中,只要引用一下相应properties的java文件即可
@Autowired
private GirlProperties girlProperties;
松绑定
Spring Boot支持绑定的属性不需要很严格的匹配约束
例
first-peron: Smith
在java文件中注入属性可以是这样子滴
@Component
public class Properties {
private String firstPerson;
public String getFirstPerson() {
return firstPerson;
}
public void setFirstPerson(String firstPerson) {
this.firstPerson = firstPerson;
}
}
更多技术相关的和话题请关注公众微信号【APPZone】
私下交流请关注的新浪微博@迹_Jason
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。