不看后悔系列-Spring源码(三):Environment接口体系

本文详细介绍了Spring的Environment接口体系,包括StandardEnvironment和StandardServletEnvironment的使用场景,以及Environment如何管理属性和剖面。重点阐述了属性源PropertySource、属性解析器PropertyResolver的概念,并给出了相关代码示例,帮助理解Environment在处理配置和剖面选择中的作用。
摘要由CSDN通过智能技术生成

参考博客:http://cmsblogs.com/?p=4032

这一章不难哦!耐心看下去,只有到最后才有恍然大悟的感觉!

一、Environment接口体系介绍

老规矩,先看类图设计(常回家看看)
在这里插入图片描述

Spring抽象了一个Environment来表示环境配置
除了可以解析相应的属性信息外,还提供了剖面相关的API,目的是: 可以根据剖面有选择的进行注册组件/配置。比如对于不同的环境注册不同的组件/配置(正式机、测试机、开发机等的数据源配置)。
其中
StandardEnvironment: 标准环境,普通Java应用时使用,会自动注册System.getProperties() 和 System.getenv()到环境
StandardServletEnvironment:标准Servlet环境,其继承了StandardEnvironment,Web应用时使用,除了StandardEnvironment外,会自动注册ServletConfig(DispatcherServlet)、ServletContext及JNDI实例到环境

整个Environment接口体系具体可以分成两部分:
理解:Environment可以理解为一个管理对象,管理以下两个对象

  1. properties:属性
    简单来说就是对key-value数据进行操作(增删改查)。从Spring角度看,properties存储了环境变量以及用户提供的key-value数据。
    这里实现上被拆分出两个概念:
    (1)属性源(PropertySource)
    (2)属性解析器(PropertyResolver)
  2. Profile:剖面
    用过spring的都知道,就不详述了,不知道去查一查

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值