通過@ConfigurationProperties進行自定義配置

Spring boot一些屬性的配置通常可以通過application.properties或application.yml裏設置,例如啓動的服務端口的設置
在這裏插入圖片描述
像上面的設置我們都已經很熟悉了,idea對它支持也非常友好,會有智能提示。那現在我們接下來是要實現自己的自定義配置。spring boot提供了一種非常簡單的方式,那就是使用@ConfigurationProperties,只需要幾步便可完成

一、添加屬性的定義類並通過@ConfigurationProperties進行註解

@ConfigurationProperties(prefix = "app")
public class AppProperties {
    private String name;

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

上面的代碼中,AppProperties只是一個普通的JavaBeen類,prefix是配置的前綴名,name是我自己定義的屬性。

二、讓spring boot發現AppProperties屬性定義,有兩種方式:
1、使用@EnableConfigurationProperties引入

@Configuration
@EnableConfigurationProperties(AppProperties.class)
public class PropertiesConfig {
}

2、通過@Bean的方式

@Configuration
public class PropertiesConfig {
    @Bean
    public AppProperties appProperties(){
        return new AppProperties();
    }
}

三、如果需要idea能發現並有智能提示還需要在pom中引入spring-boot-configuration-processor包

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
</dependency>

四、在application.properties中的智能提示
在這裏插入圖片描述
在這裏插入圖片描述
五、在代碼中使用定義好的屬性
在這裏插入圖片描述
運行測試結果
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章