spring_reference/IX. ‘How-to’ guides/63.4. Use YAML for external...

1.3 KiB
Raw Blame History

63.4. 使用YAML配置外部属性

YAML是JSON的一个超集可以非常方便的将外部配置以层次结构形式存储起来。比如

spring:
    application:
        name: cruncher
    datasource:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://localhost/test
server:
    port: 9000

创建一个application.yml文件将它放到classpath的根目录下并添加snakeyaml依赖Maven坐标为org.yaml:snakeyaml,如果你使用spring-boot-starter那就已经被包含了。一个YAML文件会被解析为一个Java Map<String,Object>和一个JSON对象类似Spring Boot会平伸该map这样它就只有1级深度并且有period-separated的keys跟人们在Java中经常使用的Properties文件非常类似。 上面的YAML示例对应于下面的application.properties文件

spring.application.name=cruncher
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost/test
server.port=9000

查看'Spring Boot特性'章节的Section 23.6, “Using YAML instead of Properties”可以获取更多关于YAML的信息。