国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

SpringBoot非官方教程 | 第二篇:SpringBoot配置文件詳解

荊兆峰 / 1471人閱讀

摘要:采納了建立生產(chǎn)就緒應(yīng)用程序的觀點(diǎn)。優(yōu)先于配置的慣例,旨在讓您盡快啟動(dòng)和運(yùn)行。啟動(dòng)工程,訪問我們會(huì)發(fā)現(xiàn)配置文件信息讀到了。三自定義配置文件上面介紹的是我們都把配置文件寫到中。源碼下載五參考文獻(xiàn)干貨系列二配置文件解析屬性配置文件詳解

springboot采納了建立生產(chǎn)就緒Spring應(yīng)用程序的觀點(diǎn)。 Spring Boot優(yōu)先于配置的慣例,旨在讓您盡快啟動(dòng)和運(yùn)行。在一般情況下,我們不需要做太多的配置就能夠讓spring boot正常運(yùn)行。在一些特殊的情況下,我們需要做修改一些配置,或者需要有自己的配置屬性。

一、自定義屬性

當(dāng)我們創(chuàng)建一個(gè)springboot項(xiàng)目的時(shí)候,系統(tǒng)默認(rèn)會(huì)為我們?cè)趕rc/main/java/resources目錄下創(chuàng)建一個(gè)application.properties。個(gè)人習(xí)慣,我會(huì)將application.properties改為application.yml文件,兩種文件格式都支持。

在application.yml自定義一組屬性:

my:
 name: forezp
 age: 12

如果你需要讀取配置文件的值只需要加@Value(“${屬性名}”):

@RestController
public class MiyaController {

    @Value("${my.name}")
    private String name;
    @Value("${my.age}")
    private int age;

    @RequestMapping(value = "/miya")
    public String miya(){
        return name+":"+age;
    }

}

啟動(dòng)工程,訪問:localhost:8080/miya,瀏覽器顯示:

forezp:12
二、將配置文件的屬性賦給實(shí)體類

當(dāng)我們有很多配置屬性的時(shí)候,這時(shí)我們會(huì)把這些屬性作為字段來創(chuàng)建一個(gè)javabean,并將屬性值賦予給他們,比如:

my:
 name: forezp
 age: 12
 number:  ${random.int}
 uuid : ${random.uuid}
 max: ${random.int(10)}
 value: ${random.value}
 greeting: hi,i"m  ${my.name}

其中配置文件中用到了${random} ,它可以用來生成各種不同類型的隨機(jī)值。

怎么講這些屬性賦于給一個(gè)javabean 呢,首先創(chuàng)建一個(gè)javabean :

@ConfigurationProperties(prefix = "my")
@Component
public class ConfigBean {

    private String name;
    private int age;
    private int number;
    private String uuid;
    private int max;
    private String value;
    private String greeting;

    省略了getter setter....

需要加個(gè)注解@ConfigurationProperties,并加上它的prrfix。另外@Component可加可不加。另外spring-boot-configuration-processor依賴可加可不加,具體原因不詳。

 
    org.springframework.boot
    spring-boot-configuration-processor
    true

另外需要在應(yīng)用類或者application類,加EnableConfigurationProperties注解。

@RestController
@EnableConfigurationProperties({ConfigBean.class})
public class LucyController {
    @Autowired
    ConfigBean configBean;

    @RequestMapping(value = "/lucy")
    public String miya(){
        return configBean.getGreeting()+" >>>>"+configBean.getName()+" >>>>"+ configBean.getUuid()+" >>>>"+configBean.getMax();
    }

啟動(dòng)工程,訪問localhost:8080/lucy,我們會(huì)發(fā)現(xiàn)配置文件信息讀到了。

三、自定義配置文件

上面介紹的是我們都把配置文件寫到application.yml中。有時(shí)我們不愿意把配置都寫到application配置文件中,這時(shí)需要我們自定義配置文件,比如test.properties:

com.forezp.name=forezp
com.forezp.age=12

怎么將這個(gè)配置文件信息賦予給一個(gè)javabean呢?

@Configuration
@PropertySource(value = "classpath:test.properties")
@ConfigurationProperties(prefix = "com.forezp")
public class User {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

在最新版本的springboot,需要加這三個(gè)注解。@Configuration
@PropertySource(value = “classpath:test.properties”)
@ConfigurationProperties(prefix = “com.forezp”);在1.4版本需要
PropertySource加上location。

@RestController
@EnableConfigurationProperties({ConfigBean.class,User.class})
public class LucyController {
    @Autowired
    ConfigBean configBean;

    @RequestMapping(value = "/lucy")
    public String miya(){
        return configBean.getGreeting()+" >>>>"+configBean.getName()+" >>>>"+ configBean.getUuid()+" >>>>"+configBean.getMax();
    }

    @Autowired
    User user;
    @RequestMapping(value = "/user")
    public String user(){
        return user.getName()+user.getAge();
    }

}

啟動(dòng)工程,打開localhost:8080/user;瀏覽器會(huì)顯示:

forezp12
四、多個(gè)環(huán)境配置文件

在現(xiàn)實(shí)的開發(fā)環(huán)境中,我們需要不同的配置環(huán)境;格式為application-{profile}.properties,其中{profile}對(duì)應(yīng)你的環(huán)境標(biāo)識(shí),比如:

application-test.properties:測(cè)試環(huán)境
application-dev.properties:開發(fā)環(huán)境
application-prod.properties:生產(chǎn)環(huán)境

怎么使用?只需要我們?cè)赼pplication.yml中加:

 spring:
  profiles:
    active: dev

其中application-dev.yml:

 server:
  port: 8082

啟動(dòng)工程,發(fā)現(xiàn)程序的端口不再是8080,而是8082。

源碼下載:https://github.com/forezp/Spr...

五、參考文獻(xiàn)

spring-boot-reference-guide-zh

pring Boot干貨系列:(二)配置文件解析

Spring Boot屬性配置文件詳解

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/70357.html

相關(guān)文章

  • SpringBoot官方教程 | 第二二篇: 創(chuàng)建含有多module的springboot工程

    這篇文章主要介紹如何在springboot中如何創(chuàng)建含有多個(gè)module的工程,栗子中含有兩個(gè) module,一個(gè)作為libarary. 工程,另外一個(gè)是主工程,調(diào)用libary .其中l(wèi)ibary jar有一個(gè)服務(wù),main工程調(diào)用這個(gè)服務(wù)。 創(chuàng)建根工程 創(chuàng)建一個(gè)maven 工程,其pom文件為: 4.0.0 com.forezp springboot-multi-...

    Scott 評(píng)論0 收藏0
  • 一起來學(xué)SpringBoot | 二篇SpringBoot配置詳解

    摘要:如何測(cè)試進(jìn)入到項(xiàng)目目錄,此處以我本地目錄為主然后打開程序,不會(huì)在當(dāng)前目錄打開的請(qǐng)自行百度,輸入打包完畢后進(jìn)入到目錄中去,我們可以發(fā)現(xiàn)一個(gè)名為的包接著在打開程序,輸入。 SpringBoot 是為了簡(jiǎn)化 Spring 應(yīng)用的創(chuàng)建、運(yùn)行、調(diào)試、部署等一系列問題而誕生的產(chǎn)物,自動(dòng)裝配的特性讓我們可以更好的關(guān)注業(yè)務(wù)本身而不是外部的XML配置,我們只需遵循規(guī)范,引入相關(guān)的依賴就可以輕易的搭建出...

    leap_frog 評(píng)論0 收藏0
  • SpringBoot官方教程 | 第十二篇springboot集成apidoc

    摘要:首先聲明下,是基于注釋來生成文檔的,它不基于任何框架,而且支持大多數(shù)編程語言,為了系列的完整性,所以標(biāo)了個(gè)題。二準(zhǔn)備工作安裝完安裝它的項(xiàng)目源碼。輸命令輸入目錄輸出目錄是我的工程名。 首先聲明下,apidoc是基于注釋來生成文檔的,它不基于任何框架,而且支持大多數(shù)編程語言,為了springboot系列的完整性,所以標(biāo)了個(gè)題。 一、apidoc簡(jiǎn)介 apidoc通過在你代碼的注釋來生成ap...

    xiaoxiaozi 評(píng)論0 收藏0
  • Java3y文章目錄導(dǎo)航

    摘要:前言由于寫的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 前言 由于寫的文章已經(jīng)是有點(diǎn)多了,為了自己和大家的檢索方便,于是我就做了這么一個(gè)博客導(dǎo)航。 由于更新比較頻繁,因此隔一段時(shí)間才會(huì)更新目錄導(dǎo)航哦~想要獲取最新原創(chuàng)的技術(shù)文章歡迎關(guān)注我的公眾號(hào):Java3y Java3y文章目錄導(dǎo)航 Java基礎(chǔ) 泛型就這么簡(jiǎn)單 注解就這么簡(jiǎn)單 Druid數(shù)據(jù)庫連接池...

    KevinYan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<