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中的智能提示
五、在代碼中使用定義好的屬性
運行測試結果