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获取配置文件配置项内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java SSH 秘钥连接mysql数据库的方法

    Java SSH 秘钥连接mysql数据库的方法

    这篇文章主要介绍了Java SSH 秘钥连接mysql数据库的方法,包括引入依赖的代码和出现异常报错问题,需要的朋友可以参考下
    2021-06-06
  • CountDownLatch源码解析之countDown()

    CountDownLatch源码解析之countDown()

    这篇文章主要为大家详细解析了CountDownLatch源码之countDown方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • java懒惰评估实现方法

    java懒惰评估实现方法

    这篇文章主要介绍了java懒惰评估如何实现的相关内容及实例,有兴趣的朋友们可以学习参考下。
    2021-05-05
  • java实现简单学生管理系统项目

    java实现简单学生管理系统项目

    这篇文章主要介绍了java实现简单学生管理系统项目,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • Kafka利用Java实现数据的生产和消费实例教程

    Kafka利用Java实现数据的生产和消费实例教程

    这篇文章主要给大家介绍了关于Kafka利用Java实现数据的生产和消费的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • Idea如何去除Mapper警告方法解析

    Idea如何去除Mapper警告方法解析

    这篇文章主要介绍了Idea如何去除Mapper 警告的方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • SpringBoot添加Email发送功能及常见异常详解

    SpringBoot添加Email发送功能及常见异常详解

    本篇文章主要介绍了SpringBoot添加Email发送功能及常见异常详解,具有一定的参考价值,有兴趣的可以了解一下。
    2017-04-04
  • 详解Eclipse提交项目到GitHub以及解决代码冲突

    详解Eclipse提交项目到GitHub以及解决代码冲突

    这篇文章主要介绍了详解Eclipse提交项目到GitHub以及解决代码冲突,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • SpringBoot中shiro过滤器的重写与配置详解

    SpringBoot中shiro过滤器的重写与配置详解

    在前后端分离跨域访问的项目中shiro进行权限拦截失效 (即使有正确权限的访问也会被拦截) 时造成302重定向错误等问题,为解决这个问题,就需要进行shiro过滤器的重写以及配置。本文详细介绍了解决方法,需要的可以参考一下
    2022-04-04
  • SpringBoot JS-SDK自定义微信分享的实现

    SpringBoot JS-SDK自定义微信分享的实现

    这篇文章主要介绍了SpringBoot JS-SDK自定义微信分享的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09

最新评论