SpringBoot 创建获取yml里配置字段值
作者:柯南二号
在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配置字段值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!