SpringBoot获取配置文件中的配置项的常用方式

 更新时间:2024年11月18日 09:10:55   作者:Atlasgorov  
这篇文章主要介绍了SpringBoot获取配置文件中的配置项的常用方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

SpringBoot中获取配置项的常用方式

主要是@Value注解、使用Environment对象、@ConfigurationProperties注解

在application.properties配置文件中,有一个配置项:test.config.version=111
配置项的名称是:test.config.version,对应的值为111

在SpringBoot中,如何获取它的具体值?

一、@Value注解

@RestController
@RequestMapping("/test")
@Slf4j
public class TestController {
    // 冒号后面可以设置该配置项的默认缺省值,当这个配置项不存在或者值为空的时候,它的值就是冒号后面的值
    @Value("test.config.version:222")
    private String conf;
    
    @RequestMapping("/config2")
    public String getConfig2(){
        log.info("test.config.version :{} " , conf);
        return conf;
    }
}

结果:

二、使用Environment对象

实现EnvironmentAware接口,让spring把environment对象注入到要使用它的bean中,调用getProperty方法获取配置项的值。

@RestController
@RequestMapping("/test")
@Slf4j
public class TestController implements EnvironmentAware {

    private Environment environment;
    
    @Override
    public void setEnvironment(Environment environment) {
        this.environment = environment;
    }

    @RequestMapping("/config1")
    public String getConfig1(){
        log.info("test.config.version :{} " ,environment.getProperty("test.config.version"));
        return environment.getProperty("test.config.version");
    }
   
}

结果:

三、@ConfigurationProperties注解

写一个配置类,利用@ConfigurationProperties注解来指定该类对应的配置项的前缀,成员变量的名字就是配置项的后缀,这个类的成员变量用于承接对应的配置项的值。
@Data注解是Lombok提供的,可以自动生成getter和setter。

@Component
@ConfigurationProperties(prefix = "test.config")
@Data
public class TestConf {
    
    // 相当于test.config.version的值,就注入到了该成员变量中
    private String version;

}
@RestController
@RequestMapping("/test")
@Slf4j
public class TestController implements EnvironmentAware {
    @Resource
    TestConf testConf;
    
    @RequestMapping("/config3")
    public String getConfig3(){
        log.info("test.config.version :{} " , testConf.getVersion());
        return testConf.getVersion();
    }
}

结果:

到此这篇关于SpringBoot获取配置文件中的配置项的常用方式的文章就介绍到这了,更多相关SpringBoot获取配置文件配置项内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mybatis-plus 分页类型转换工具类

    mybatis-plus 分页类型转换工具类

    用mybatis-plus 的分页对象的时候,因为用mybatis-puls 查询出来的分页对象的records里的泛型是实体,有时候需要将实体转换为前端展示的对象,所有写了一个分页数据的类型转换工具,解决这个问题,对mybatis-plus 分页工具类相关知识感兴趣的朋友一起看看吧
    2022-03-03
  • Java实现经典游戏之大鱼吃小鱼

    Java实现经典游戏之大鱼吃小鱼

    这篇文章主要为大家详细介绍了如何利用Java语言实现经典游戏之大鱼吃小鱼,文中的示例代码讲解详细,对我们学习Java游戏开发有一定帮助,需要的可以参考一下
    2022-08-08
  • 浅谈Java回收对象的标记和对象的二次标记过程

    浅谈Java回收对象的标记和对象的二次标记过程

    这篇文章主要介绍了浅谈Java回收对象的标记和对象的二次标记过程的相关内容,小编觉得还是挺不错的,这里给大家分享一下,需要的朋友可以参考。
    2017-10-10
  • MybatisPlus保存、读取MySQL中的json字段失败问题及解决

    MybatisPlus保存、读取MySQL中的json字段失败问题及解决

    这篇文章主要介绍了MybatisPlus保存、读取MySQL中的json字段失败问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Java基本类型与byte数组之间相互转换方法

    Java基本类型与byte数组之间相互转换方法

    下面小编就为大家带来一篇Java基本类型与byte数组之间相互转换方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • RabbitMQ安装延迟消息插件的教程(超详细)

    RabbitMQ安装延迟消息插件的教程(超详细)

    RabbitMQ是一个开源的消息队列系统,它支持多种协议和多种语言的客户端,为了处理消息的延迟发送或消费,RabbitMQ本身并不直接提供内置的延迟插件,所以本文给大家介绍了RabbitMQ安装延迟消息插件的教程,需要的朋友可以参考下
    2024-06-06
  • java读取word-excel-ppt文件代码

    java读取word-excel-ppt文件代码

    OFFICE文档使用POI控件,PDF可以使用PDFBOX0.7.3控件,完全支持中文,用XPDF也行,不过感觉PDFBOX比较好,而且作者也在更新。水平有限,万望各位指正
    2009-04-04
  • 使用Java 8 Lambda表达式将实体映射到DTO的操作

    使用Java 8 Lambda表达式将实体映射到DTO的操作

    这篇文章主要介绍了使用Java 8 Lambda表达式将实体映射到DTO的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • java中如何截取字符串最后一位

    java中如何截取字符串最后一位

    这篇文章主要介绍了java中如何截取字符串最后一位的实现方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Spring中Bean的创建流程详细解读

    Spring中Bean的创建流程详细解读

    这篇文章主要介绍了Spring中Bean的创建流程详细解读,Spring 中创建 Bean ,是通过调用 GetBean 方法来触发的,所以,我们会从这个方法开始,需要的朋友可以参考下
    2023-10-10

最新评论