积石山 宜川县 高要市 浦江县 德清县 新兴县 哈尔滨市 东乌珠穆沁旗 兴和县 康平县 疏勒县 澄城县 临沭县 宁河县 梅河口市 桃江县
主页 > 国内 >

遮天_springboot读取自定义配置文件节点

标签:爱民如子 大众棋牌游戏怎么下载

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

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

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

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

1 shenniu:
2   name: 神牛003

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

1     @Value("${shenniu.name}")
2     private String name;
3 
4     @GetMapping("/conf/defname")
5     public String getDefName() {
6         return this.name;
7     }

  运行后效果如:

  

实体映射application.yml的节点

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

 1 @Configuration
 2 @ConfigurationProperties(prefix = "shenniu")
中国合伙人_2018年最新新闻网
 3 public class ShenniuConf {
 4 
 5     private String name;
 6 
 7     public String getName() {
 8         return name;
 9     }
10 
11     public void setName(String name) {
12         this.name = name;
13     }
14 
15     private Url url;
16 
17     public Url getUrl(秦时明月_2018年最新新闻网) {
18         return url;
19     }
20 
21     public void setUrl(Url url) {
22         this.url = url;
23     }
24 
25     private String des;
26 
27     public String getDes() {
28         return des;
29     }
30 
31  女婴起名王者荣耀_2018年最新新闻网   public void setDes(String des) {
32         this.des = des;
33     }
34 
35     public static class Url {
36 
37         private String blogurl;
38 
39         public String getBlogurl() {
40             return blogurl;
41         }
42 
43         public void setBlogurl(String blogurl) {
44             this.blogurl = blogurl;
45         }
46 
47     }
48 }

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

1 @Autowired
2     private ShenniuConf shenniuConf;
3 
4     @GetMapping("/conf/name")
5     public String getName() {
6         return shenniuConf.getName();
7     }

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

  

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

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

1 shenniu.des=我爱祖国
2 shenniu.url.blogurl=http://www.a.com

  映射的实体还是用上面的,不过实体上需要增加注解@PropertySource("classpath:my.properties")表示自定义文件源,并且同样需要prefix来指定节点前缀;我们增加如下展示接口:

1 @Autowired
2     private ShenniuConf shenniuConf;
3 
4     @GetMapping("/conf/des")
5     public String getDes() {
6         return shenniuConf.getDes();
7     }

  

实体映射多层级节点的值

  通常自定义配置节点都有层级关系,那我们实体有怎么花嫁_2018年最新新闻网来获取到不同层级的属性值呢,事实上只需要在实体类里面通过类层级关系来表示就行了,如上面ShenniuConf实体里面的Url实体类属性;

  

  这里添加一个测试接口:

1     @Autowired
2     private ShenniuConf shenniuCo张柏芝感慨婚姻_2018年最新新闻网nf;
3     
4     @GetMapping("/conf/myconf")
5     public ShenniuConf getBlogurl() {
6         return shenniuConf;
7     }

  不出意外能得到如下结果:

  

当前文章:http://www-dabianzao-com.queflight.cn/9t66/d7436_152571.html

发布时间:2019-08-18 16:50:23

澳门银河真人在线娱乐  澳门银河娱乐yh163am.com  澳门银河娱乐官网下载  银河娱乐平台yh163am.com  澳门银河yh7788.bet  银河娱乐平台yh163am.com男子飞机上吃出铁环硌坏牙齿 海航:赔200元飞机模型  银河娱乐手机官网  919银河优越会  澳门银河2949所有网址李易峰凌晨发文庆31岁生日 何炅魏大勋等送祝福  中兴提交关于暂停执行拒绝令的申请  

【责任编辑:admin】
最新文章
热门文章