Java应用容器化之获取系统变量

前言

容器是现在特别流行的部署方式,对比传统的部署方式有许许多多的优点,但是在应用转型的时候我们会遇到一些问题。今天我们遇到的就是有关环境变量的问题。在传统的Java应用当中许多配置都是写死在配置文件当中的,而这种方式不太适用于容器化的集群。因为涉及到动态扩容等操作,所以一些配置都是动态的,通过系统环境变量传入的,着就需要我们对应用进行改造。

通过Java代码获取系统环境变量

Java应用可以通过System.getenv方法去获得系统的环境变量,这个方法为Java SE的方法,所有应用都可以进行使用。此方法会返回一个只读的 java.util.Map。Map的key为环境变量的名字,值为环境变量的值。

借助Spring进行系统变量的获取

Spring是我们在开发中经常用到的框架,而且基本配置文件都是通过Spring进行管理,Spring所管理的配置文件中是可以插入Spring Expression Language (SpEL)的,这可以非常方便的进行环境变量的插入。下面那句话就可以很轻松的插入环境变量了。

#{systemEnvironment['ENV_VARIABLE_NAME']}

如果想要了解更多信息可以查看官方文档 。

打赏