Environment abstraction
##Environment abstraction (环境抽象) Environment是容器重要的抽象,它集成了应用两个重要的方面:profiles和properties; 一个Profile是一组已命名的有逻辑的bean定义,只有当特定的profile启动时,它们才在容器里注册.Beans可以通过xml或者注解来指定其profile值.Environment对象在profiles中的角色决定目前哪个profile会被启动,哪个profile是默认启动. Properties在所有的应用中都起重要作用,它可以从以下资源中产生:properties文件,JVM系统属性,系统环境变量,JNDI,servlet上下文参数,特定的Properties对象,Maps,等.Environment对象与属性的关系是提供使用者一个合适的服务接口来配置属性资源,并从中释放属性. ###7.13.1 Bean definition profiles bean定义中的Profiles bean定义的profiles是一个核心容器的机制,允许在不同的环境里注册不同的bean.这个单词"environment"对不同的用户代表不同的事物,这个功能在很多场景下给你提供帮助,包括: 开发中使用内存数据库 VS 在QA或production中使用从JNDI中查找相同的数据源.