springboot读取自定义配置文件节点的方法

时间:2021-05-19

今天和大家分享的是自定义配置信息的读取;近期有写博客这样的计划,分别交叉来写springboot方面和springcloud方面的文章,因为springboot预计的篇章很多,这样cloud的文章就需要等到很后面才能写了;分享这两种文章的原因主要是为了方便自己查找资料使用和对将要使用的朋友起到便捷作用;

•@Value标记读取(默认可直接读取application.yml的节点)
•实体映射application.yml的节点
•实体映射自定义配置文件的节点
•实体映射多层级节点的值

@Value标记读取(默认可直接读取application.yml的节点)

  首先在默认application.yml配置文件中自定义如下节点信息:

shenniu: name: 神牛003

  然后通过@Value标记来直接获取属性值,为了更好的展示数据到界面上定义了一个/conf/name接口:

@Value("${shenniu.name}") private String name; @GetMapping("/conf/defname") public String getDefName() { return this.name; }

  运行后效果如:

实体映射application.yml的节点

  要用实体类映射出默认配置文件值,仅仅只需要加一个属性名称前缀就行了,当然这仅仅针对于application.yml默认文件里面的属性:

@Configuration@ConfigurationProperties(prefix = "shenniu")public class ShenniuConf { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } private Url url; public Url getUrl() { return url; } public void setUrl(Url url) { this.url = url; } private String des; public String getDes() { return des; } public void setDes(String des) { this.des = des; } public static class Url { private String blogurl; public String getBlogurl() { return blogurl; } public void setBlogurl(String blogurl) { this.blogurl = blogurl; } }}

  实体类我多增加了几个属性,为了后面测试方便;要对application.yml做配置映射只需要加上 @ConfigurationProperties(prefix = "shenniu") 标记,prefix的值对应自定义配置文件属性的前缀;这里增加/conf/name接口输出映射出对象的值:

@Autowired private ShenniuConf shenniuConf; @GetMapping("/conf/name") public String getName() { return shenniuConf.getName(); }

  同样得到了和@Values注解一样的效果,这就表示实体和配置文件自定义属性匹配成功了,主要实体属性名称应该和配置文件节点名称保持一致;

实体映射自定义配置文件的节点

  读取application.yml中属性值很简单,有时候需要自定义自己的配置文件,如这里我的my.properties,文件内容如下:

shenniu.des=我爱祖国 shenniu.url.blogurl=http:///shenniubuxing3 nuget发布包:https://www.nuget.org/profiles/shenniubuxing3

总结

以上所述是小编给大家介绍的springboot读取自定义配置文件节点的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章