前言
之前讲到了application run listener,但没有展开讲spring内置的listener拎出来讲,spring很多动作就是在内置的listener中随容器启动时候做的。后续我们再列举说明,这篇先学下spring里面的Environment。
Environment是spring中一个抽象,简单理解保存的是spring中所有的环境配置数据。从接口来看主要包含两个概念,一个profiles,一个properties。
从类继承关系图可以看出,Environment继承自接口PropertyResolver,一个是properties的定义,一个是profiles定义。而ConfigurablePropertyResolver则定义了数据转换服务,即:ConfigurableConversionService。
真正的实现类:StandardEnvironment作为默认实现,而web项目的StandardServletEnvironment从其继承而来,扩展了部分PropertySource。
Environment初始化
从springapplication的启动run方法,我们可以看到environment的初始化,在prepareEnvironment方法中。
<