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中的智能提示
五、在代码中使用定义好的属性
运行测试结果