不想说话,自闭中..

SpringBoot配置管理

SpringBoot的便捷性在于配置文件的简化,极大的缩短了项目环境搭建的时间。今天,我们就它的配置文件来领略SpringBoot的风采。

配置管理

和常规的Spring项目一样,SpringBoot也自己的配置文件application.properties.与之不同的是,SpringBoot几乎只有几行的代码就可以代替过往繁琐的配置。

  • 配置端口号和访问前缀

    1
    2
    server.port=8080
    server.context-path=/springboot
  • 定义变量并引用变量

    1
    2
    user.name=呢喃北上
    user.info=${user.name}
  • 引用实体类变量

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    @Configuration//使用@Configuration注解声明这是一个配置文件
    public class RandomProperty {

    @Value("${my.secret}")
    private String randomValue;

    @Value("${my.number}")
    private int randomInt;

    @Value("${my.bignumber}")
    private long randomLong;

    @Value("${my.uuid}")
    private String randomUUID;

    @Value("${my.number.less.than.ten}")
    private int randomIntRange;

    @Value("${my.number.in.range}")
    private int randomIntMaxMinRange;

    ...
1
2
3
4
5
6
my.secret=${random.value}
my.number=${random.int}
my.bignumber=${random.long}
my.uuid=${random.uuid}
my.number.less.than.ten=${random.int(10)}
my.number.in.range=${random.int[10,100]}
  • 设置引用不同的配置环境

    软件有开发时期、测试时期、运行时期,不同的时期它的环境配置可能是不同的。通过指定引用不同的配置文件来实现环境的切换。

    • application.properties
    • application-dev.properties
    • application-prod.properties

两个不同的配置文件,当我们需要使用哪一个的时候,在application.properties中指定即可。

1
spring.profiles.active=dev

更简单的配置yml文件

1
2
3
4
5
6
7
8
9
server:
port: 8080
context-path: /springboot

person:
name: mnn
age: 21

say: ${person}

需要注意的是yml文件的格式要求冒号之后要空一格