SpringBoot 创建获取yml里配置字段值

 更新时间:2025年06月19日 09:30:19   作者:柯南二号  
在Spring Boot中通过@ConfigurationProperties绑定YML配置,创建Bean并提供访问方法,实现根据配置字段动态处理业务逻辑,具有一定的参考价值,感兴趣的可以了解一下

比如在application.yml里有一个这样的配置

proxy:
    enable: false

需要根据这个配置的不同来做不同的业务逻辑处理。

用@Component给这个类声明是一个@Bean类,同时用@ConfigurationProperties这个来声明前缀是yml里配置的“proxy”,然后声明一个和yml配置"enable"同名的变量,配置上get和set方法。

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Setter
@Getter
@Component
@ConfigurationProperties(prefix = "proxy")
public class ProxySetting {
    private boolean enable;
}

创建一个这样获取全局Bean对象的工具类

import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

/**
 * 获取上下文的配置类
 */
@Component
public class SpringContextHolder implements ApplicationContextAware {
    private static ApplicationContext context;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) {
        SpringContextHolder.context = applicationContext;
    }

    public static <T> T getBean(Class<T> requiredType) {
        return context.getBean(requiredType);
    }
}

在需要用到这个yml里配置enable的地方,来做逻辑处理

ProxySetting proxySetting = SpringContextHolder.getBean(ProxySetting.class);
if (proxySetting.isEnable()) {
    // 处理enable为true的时候对应的逻辑
} else {
   // 处理enable为false的时候对应的逻辑
}

到此这篇关于SpringBoot 创建获取yml里配置字段值的文章就介绍到这了,更多相关SpringBoot获取yml配置字段值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • java多线程之线程,进程和Synchronized概念初解

    java多线程之线程,进程和Synchronized概念初解

    这篇文章主要介绍了java多线程之线程,进程和Synchronized概念初解,涉及进程与线程的简单概念,实现多线程的方式,线程安全问题,synchronized修饰符等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2017-11-11
  • java中常用的字符串的比较方法(两种)

    java中常用的字符串的比较方法(两种)

    本文主要介绍了java中两种常用的字符串的比较方法。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • Java实现threadLocal线程池获取

    Java实现threadLocal线程池获取

    本文主要介绍了Java实现threadLocal线程池获取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • spring源码学习之bean的初始化以及循环引用

    spring源码学习之bean的初始化以及循环引用

    这篇文章主要给大家介绍了关于spring源码学习之bean的初始化以及循环引用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Intellij IDEA 2020.3 配置教程详解

    Intellij IDEA 2020.3 配置教程详解

    这篇文章主要介绍了Intellij IDEA 2020.3 配置教程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Java项目防止SQL注入的几种方法总结

    Java项目防止SQL注入的几种方法总结

    SQL注入是比较常见的网络攻击方式之一,在客户端在向服务器发送请求的时候,sql命令通过表单提交或者url字符串拼接传递到后台持久层,最终达到欺骗服务器执行恶意的SQL命令,下面这篇文章主要给大家总结介绍了关于Java项目防止SQL注入的几种方法,需要的朋友可以参考下
    2023-04-04
  • SpringBoot整合Thymeleaf的方法

    SpringBoot整合Thymeleaf的方法

    这篇文章主要介绍了SpringBoot整合Thymeleaf的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下,希望能够帮助到你
    2021-07-07
  • Java设计模式之适配器模式简介

    Java设计模式之适配器模式简介

    这篇文章主要介绍了Java设计模式之适配器模式,需要的朋友可以参考下
    2014-07-07
  • Java连接MySQL数据库实例

    Java连接MySQL数据库实例

    这篇文章介绍了Java连接MySQL数据库实例的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • 解读Java中Set真的是无序的吗

    解读Java中Set真的是无序的吗

    这篇文章主要介绍了Java中Set是不是无序的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07

最新评论