中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

springboot~讀(du)取自定義配置項(xiang)

我們(men)springboot項(xiang)目有自(zi)己默認的(de)配置文件,一般地由application.yml和bootstrap.yml組成,前者(zhe)是模塊的(de)配置,后者(zhe)是微(wei)服務的(de)配置,后臺比前者(zhe)先(xian)被框架加載。

我們有(you)時需要(yao)自己(ji)定義配(pei)(pei)置,可能不是(shi)簡單的(de)(de)字符(fu)串,它(ta)(ta)可能是(shi)一(yi)個對象(xiang),對象(xiang)里有(you)具體的(de)(de)配(pei)(pei)置段,它(ta)(ta)也是(shi)application.yml的(de)(de)一(yi)部(bu)分,你(ni)可以把自己(ji)的(de)(de)代(dai)碼添(tian)加(jia)上,當然你(ni)也可以新建(jian)全新的(de)(de)文(wen)件(jian)。

例如,有一個配(pei)置由name和version組成(cheng),我(wo)們在application.yml里可以把它(ta)(ta)定義成(cheng)project元素下面的,這里的project叫(jiao)前(qian)綴,我(wo)們在定義配(pei)置實體時用來修飾它(ta)(ta)。

package test.lind.javaLindDay.utilDemo;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "project")
@PropertySource(value = "classpath:config.yml")
public class MyConfig {
  private String version;
  private String name;

  public String getVersion() {
    return version;
  }

  public void setVersion(String version) {
    this.version = version;
  }

  public String getName() {
    return name;
  }

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

而其中(zhong)的注(zhu)解@component表示(shi)可以(yi)使(shi)用(yong)@Autowired注(zhu)入!如(ru)果配置里(li)只是一個字符串的項(xiang),我們也可以(yi)使(shi)用(yong)@Value來(lai)進(jin)行注(zhu)入,如(ru)下(xia)代碼(ma)展現了兩種(zhong)

注入的方式。

@RestController
public class HomeController {
  @Autowired
  MyConfig config;

  @Value("${lind.name}")
  String app;

  @RequestMapping("/")
  public String Index() {
    return "HOME=" + config.getName() + "app=" + app;
  }
}

感謝各位閱讀!

 

posted @ 2018-05-04 14:49  張占嶺  閱讀(3022)  評論(0)    收藏  舉報