javascript
Spring中的Environment
用來表示整個應用運行時的環境,為了更形象地理解Environment,你可以把Spring應用的運行時簡單地想象成兩個部分:一個是Spring應用本身,一個是Spring應用所處的環境,而Environment這個接口,就是對這個所處的環境的概念性建模。
Environment在容器中是一個抽象的集合,是指應用環境的2個方面:profiles和properties。
Profile
profile配置是一個被命名的、bean定義的邏輯組,這些bean只有在給定的profile配置激活時才會注冊到容器。不管是XML還是注解,Beans都有可能指派給profile配置。Environment環境對象的作用,對于profiles配置來說,它能決定當前激活的是哪個profile配置,和哪個profile是默認。
?
- 一個profile就是一組Bean定義的邏輯分組。
- 這個分組,也就 這個profile,被賦予一個命名,就是這個profile名字。
- 只有當一個profile處于active狀態時,它對應的邏輯上組織在一起的這些Bean定義才會被注冊到容器中。
- Bean添加到profile可以通過XML定義方式或才annotation注解方式。
- Environment對于profile所扮演的角色是用來指定哪些profile是當前活躍的缺省。
Properties
properties屬性可能來源于properties文件、JVM properties、system環境變量、JNDI、servlet context parameters上下文參數、專門的properties對象,Maps等等。Environment對象的作用,對于properties來說,是提供給用戶方便的服務接口、方便撰寫配置、方便解析配置。
?
- 配置屬性源。
- 從屬性源中獲取屬性。
容器(ApplicationContext)所管理的bean如果想直接使用Environment對象訪問profile狀態或者獲取屬性,可以有兩種方式
(1)實現EnvironmentAware接口。
(2)@Inject或者@Autowired一個Environment對象。
絕大數情況下,bean都不需要直接訪問Environment對象,而是通過類似@Value注解的方式把屬性值注入進來。
總結
以上是生活随笔為你收集整理的Spring中的Environment的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三村合建水厂问题研究
- 下一篇: Spring中Environment的使