你可能不知道的Spring Boot那点事

Spring Boot   2017-02-06 16:29:45 发布
您的评价:
     
0.0
收藏     0收藏
文件夹
标签
(多个标签用逗号分隔)

当前微服务的概念被炒的非常的火热,而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;
    }

}

 

 

来自:https://segmentfault.com/a/1190000008256545

 

扩展阅读

Scala在挖财的应用实践
使用Sprint Boot创建微服务
微服务架构的基础框架选择:Spring Cloud还是Dubbo?
SeimiCrawler一个敏捷强大的Java爬虫框架 — SeimiCrawler 0.2.6 文档
Spring Boot 事务的使用

为您推荐

Java Json 序列化与反序列化
Java生成动态GIF图片
Android单张图片查看、单指移动、双指缩放、双击最大化或最小化
注入类型的Android框架Butterknife示例和原理
各种Java加密算法

更多

Spring Boot
相关文档  — 更多
相关经验  — 更多
相关讨论  — 更多