有个需求是
将配置文件中的属性放置到系统环境变量中,可以使用System.get获取到;
这个时候使用EnvironmentAware最是方便;原因是:
所有的配置信息,都会加载到Environment实体中,因此我们可以通过这个对象来获取系统的配置,通过这种方式不仅可以获取application.yml配置信息,还可以获取更多的系统信息;
凡是被Spring管理的类,实现接口 EnvironmentAware 重写方法 setEnvironment 可以在工程启动时,获取到系统环境变量和application配置文件中的变量。
使用Vaule注解也可以获取到配置中的属性
代码如下:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
@Configuration
public class MyEnvironmentAware implements EnvironmentAware {
@Value("${web..url}")
String webUrl;
@Value("${user.name}")
String userName;
@Value("${user.password}")
String