通过@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中的智能提示
在这里插入图片描述
在这里插入图片描述
五、在代码中使用定义好的属性
在这里插入图片描述
运行测试结果
在这里插入图片描述

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