Springboot读取yml文件参数

几种数据格式

  1. 普通的值(数字,字符串,布尔)就是:key: value
  2. 对象、Map (属性和值) (键值对)
  3. 数组 (List、Set)

字符串默认不用加上单引号或者双引号;
"":双引号;不会转义字符串里面的特殊字符; name: “zhangsan \n lisi”:输出;zhangsan 换行 lisi
’’:单引号;会转义特殊字符 据 name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi

# 对象、Map
person:
    age: 18
    name: Tom
 
# 用- 值表示数组中的一个元素    
hands:
   - left
   - right

@value方式

server:
  port: 9091
@Value("${server.port}")
public String port;	

@Value("${tag}")
private String value

@Value("#{configProperties['tag.msgname']}")
private String value
@Value("${tag.msgname}")
private String value

value 值为空:

  • 使用static或final修饰
    private static String value; //错误
    private final String value; //错误
  • 类上没有加上@Component(或@service等)
  • 没有使用@Autowired注入而是通过new创建实例

@ConfigurationProperties方式

student:
    age: 18
    name: polly
@Component
@ConfigurationProperties(prefix = "student")
public class Student {

    private String name;

    private Integer age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

@ConfigurationProperties读取参数,需要一个JavaBean 来专门映射配置
使用@ConfigurationProperties,需要配置一个prefix (前缀) 参数, 即写上 key 就可以了

@Environment方式

test:
    msg: a123
  @Autowired
  private Environment env

  @RequestMapping(value = "index", method = RequestMethod.GET)
  public void index() {
      System.out.println(env.getProperty("test.msg"));
  }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

讓丄帝愛伱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值