您的位置:首页 > 编程语言 > Java开发

Spring Boot 配置文件介绍

2017-01-10 20:56 579 查看
属性文件使用Application/YAML
Application/YAML 属性文件,按优先级按高到低排序,位置高的将覆盖位置低的    1. 当前目录下的一个/config子目录    2. 当前目录    3. 一个classpath下的/config包    4. classpath根路径(root)
application.properties
##自定义属性
#32位随机字符串
jerome.random.value=${random.value}
#int类型的随机数字
#jerome.bignumber=${random.long}
#jerome.number.less.than.ten=${random.int(10)}
#jerome.number.in.range=${random.int[1024,65536]}
jerome.random.int=${random.int[1024,65536]}
#自定义名字
#jerome.name=www.jerome.com
#属性占位符属性
jerome.desc=${jerome.name} is a domain name
代码使用
// 32位随机字符串
@Value(value = "${jerome.random.value}")
private String randomValue;

// int类型的随机数字
@Value(value = "${jerome.random.int}")
private int randomInt;

// 自定义名字
@Value(value = "${jerome.name}")
private String name;

// 属性占位符属性 ${jerome.name} is a domain name
@Value(value = "${jerome.desc}")
private String desc;
/**
* 获取配置文件的数据
*
* @return Json
*/
@RequestMapping("testProp")
Map<String, Object> testProp() {
Map<String, Object> map = new HashMap<>();
map.put("title", "hello world");
map.put("randomValue", randomValue);
map.put("randomInt", randomInt);
map.put("name", name);
map.put("desc", desc);
return map;
}
返回结果    
使用YAML代替Properties(如果Properties和YAML都存在,已Properties为准)
    编写注意:冒号后面要加空格,多级使用tab缩进。application.yaml
#自定义配置
jerome:
#  secret: ${random.value}
#  number: ${random.int}
  name: www.suzhida.com
  desc: ${roncoo.name} is a domain name

#端口
server:
  port: 80

#spring jsckson
spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: Asia/Chongqing

多环境配置(开发环境、测试坏境、生产环境)
多环境配置的好处
        1. 不同环境配置可以配置不同的参数        2. 便于部署,提高效率,减少出错
Properties多环境配置
        1. 主配置激活选项            spring.profiles.active=dev        2.添加其他配置文件         
YAML多环境配置
#配置文件环境配置
spring:
  profiles:
    active: dev

#jackson
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: Asia/Chongqing

#自定义配置
  jerome:
  #  secret: ${random.value}
#  number: ${random.int}
    name: www.suzhida.com
    desc: ${roncoo.name} is a domain name

#端口
server:
  port: 8888

---
spring:
  profiles: dev
server:
  port: 8080

---
spring:
  profiles: prod
server:
  port: 8082

---
spring:
  profiles: test
server:
  port: 8081
两种配置方式的比较
        1. Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件        2.书写格式的差异,yaml相对比较简洁,优雅        3. YAML的缺点:不能通过@PropertySource注解加载。如果需要使用@PropertySource注解的方式加载值,那就要使用properties文件。
使用
        java -jar demo_spring_boot-0.0.1-SNAPSHOT.jar --spring.profiles.active=test
参考        龙果学院 Spring Boot 视频        官方文档 http://docs.spring.io/spring-boot/docs/1.4.4.BUILD-SNAPSHOT/reference/htmlsingle/        代码        https://github.com/JeromeSuz/demo_spring_boot
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: