Springboot 如何指定获取出 yml文件里面的配置值
程序员文章站
2022-03-19 09:16:45
之前写过一篇获取properties文件里面的值:springboot 指定获取自己写的配置properties文件的值现在补充多一篇,指定获取yml里面的配置值 。内容:这里分别介绍两种方式,都是基...
之前写过一篇获取properties文件里面的值:
springboot 指定获取自己写的配置properties文件的值
现在补充多一篇,指定获取yml里面的配置值 。
内容:
这里分别介绍两种方式,都是基于注解实现,分别是:
@value("${xxxxx.xx}")
@configurationproperties(prefix = "xxxxx")
进入主题:
@value("${xxxxx.xx}")
使用这种方式非常简单(每一个注解获取一个对应的配置值),
在yml里面加入我们的自定义配置项,如(大小写随意,调用时对应好就行):
指定获取这些值去使用,如:
@value("${mykey.tua}") private string tuakey; @value("${mykey.aco}") private string acokey; @value("${mynum.new}") private string mynum; @getmapping("/getmytest") public void getmytest(){ system.out.println("tuakey:"+tuakey); system.out.println("acokey:"+acokey); system.out.println("mynum:"+mynum); }
可以看到结果,获取正常:
@configurationproperties(prefix = "xxxxx")
使用这种方式也非常简单(一次性将多个配置值获取并示例化成bean放入到spring容器里面),
在yml里面加入我们的自定义配置项,如(注意,使用一开始的key参数使用小写,使用大写会出错,因为prefix不支持驼峰命名和下划线形式):
然后我们建一个对于这些配置项的实体类,并使用上注解 @configurationproperties ,如:
prefix指前缀,一般也就是第一个,我们这个例子的第一个是myinfo
import org.springframework.boot.context.properties.configurationproperties; import org.springframework.stereotype.component; /** * @author : jcccc * @createtime : 2020/5/19 * @description : **/ @component @configurationproperties(prefix = "myinfo") public class myinfo { private string name; private integer age; private string description; @override public string tostring() { return "mytest{" + "name='" + name + '\'' + ", age=" + age + ", description='" + description + '\'' + '}'; } 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; } public string getdescription() { return description; } public void setdescription(string description) { this.description = description; } }
指定获取这些值去使用,也就是相当于使用这个类,直接配合@autowired 使用即可:
@autowired myinfo myinfo; @getmapping("/getmytest") public void getmytest(){ system.out.println("myinfo:"+myinfo.tostring()); system.out.println("myinfo name:"+myinfo.getname()); }
可以看到结果,获取正常:
ok,该篇就到此。 以上为个人经验,希望能给大家一个参考,也希望大家多多支持!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
上一篇: Vue实现牌面翻转效果