spring boot 使用 EnvironmentAware 加载配置文件

@Configuration
public class PropertiesUtils implements EnvironmentAware {

	private int redisExpireTime;

	private boolean enabled;

	private int refreshTime;

	@Override
	public void setEnvironment(Environment environment) {          //解析配置文件头
		 RelaxedPropertyResolver relaxedPropertyResolver = new RelaxedPropertyResolver(environment, "custom.");
		this.redisExpireTime=Integer.valueOf(relaxedPropertyResolver.getProperty("redisExpireTime"));
		this.enabled=Boolean.valueOf(relaxedPropertyResolver.getProperty("enabled"));
		this.refreshTime=Integer.valueOf(relaxedPropertyResolver.getProperty("refreshTime"));
	}

  

原文地址:https://www.cnblogs.com/itniwota/p/9324312.html

时间: 2024-10-12 15:35:06

spring boot 使用 EnvironmentAware 加载配置文件的相关文章

Spring boot 国际化自动加载资源文件问题

Spring boot 国际化自动加载资源文件问题 最近在做基于Spring boot配置的项目.中间遇到一个国际化资源加载的问题,正常来说只要在application.properties文件中定义正确的资源文件路径,Spring boot就启动时就会自动加载资源. spring.messages.basename=i18n/message 但是我的项目修改后获取消息时系统报错,找不到对应语言的资源配置.于是试图找到原因.Google好久都没找到,简直好像就我一个人遇到这鬼问题一样??.只好自

Spring Boot(3):加载DataSource过程的源码分析及yml中DataSource的配置

Spring Boot实现了自动加载DataSource及相关配置.当然,使用时加上@EnableAutoConfiguration注解是必须的.下面就是对这一部分的源码分析. (1)Spring Boot启动后会调用org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.下面是部分源码. 1 @Configuration 2 @ConditionalOnClass({ DataSource.class, E

spring boot的初始化加载

1.CommandLineRunner在项目中经常需要进行初始化一些数据(比如缓存等),以便后面调用使用.spring boot可以通过CommandLineRunner接口实现启动加载功能. @Component @Order(1) //初始化加载优先级 数字越小优先级越高 public class Init implements CommandLineRunner { @Resource private IESignInitService eSignInitService; @Overrid

IDEA spring boot 开启热加载

1.添加spring-boot-devtools的包,true必须加上. <!-- 热加载配置part1 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> 2

spring boot 使用属性加载顺序

1.命令行中传入的参数 2.SPRING_APPLICATION_JSON中的属性.SPRING_APPLICATION_JSON是以JSON格式配置再系统环境变量中的内容 3.java:comp/env中的JNDI属性 4.JAVA的属性,可以通过System.getProperties() 获得的内容 5.操作系统的环境变量 6.通过random.*配置的随机属性 7.位于当前应用jar包之外,针对不同{profile}环境的配置文件内容,例如application-{profile}.pr

Spring Boot加载配置文件

问题1:Spring如何加载配置,配置文件位置? 1.默认位置: Spring Boot默认的配置文件名称为application.properties,SpringApplication将从以下位置加载application.properties文件,并把它们添加到Spring Environment中: 当前目录下的/config子目录, 当前目录. 一个classpath下的/config包 classpath根路径(root) 这个列表是按优先级排序的(列表中位置高的将覆盖位置低的).并

Spring Boot加载配置文件的完整步骤

这篇文章主要给大家介绍了关于Spring Boot加载配置文件的完整步骤,文中通过示例代码介绍的非常详细,对大家的学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 前言 本文针对版本2.2.0.RELEASE来分析SpringBoot的配置处理源码,通过查看SpringBoot的源码来弄清楚一些常见的问题比如: SpringBoot从哪里开始加载配置文件? SpringBoot从哪些地方加载配置文件? SpringBoot是如何支持yaml和proper

spring加载配置文件

spring加载配置文件 1.把applicationContext.xml直接放在WEB-INF/classes下,spring会采用默认的加载方式2.采用在web.xml中配置ContextLoaderListenera或ContextLoaderServlet指定加载路径方式.3 通过ClassPathXmlApplicationContext或XmlWebApplicationContext代码动态加载!

Spring的classpath与classpath*通配符加载配置文件

classpath 与 classpath*以及通配符是怎么处理的 Spring加载Resource文件是通过ResourceLoader来进行的,那么我们就先来看看ResourceLoader的继承体系,让我们对这个模块有一个比较系统的认知. 首先,我们来看下ResourceLoader的源码 public interface ResourceLoader { /** Pseudo URL prefix for loading from the class path: "classpath:&