Spring3.1新属性管理API:PropertySource、Environment、Profile
?
当然这种方式还不是太友好,还需要我们手工编程使用,稍候会介绍如何更好的使用它们。
?
<context:property-placeholder/>${key}占位符属性替换器,配置如下:
?
?
SpEL表达式:
请参考【第五章】Spring表达式语言 之 5.4在Bean定义中使用EL—跟我学spring3
?
通过如上方式可以实现不同的环境有不同的属性配置,但是如果我们想不同的环境加载不同的Bean呢,比如测试机/正式机环境可能使用远程方式访问某些API,而开发机环境使用本地方式进行开发,提高开发速度,这就需要profile了。
?
<beans ?profile="">通过在beans标签上加上profile属性,这样当我们激活相应的profile时,此beans标签下的bean就会注册,如下所示:
@ActiveProfiles("test")@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(classes = GenericConfig.class)public class GenricInjectTest {……}通过这种方式,我们就激活了test profile。?
?
?
到此整个Spring的属性管理API就介绍完了,对于属性管理,核心是Environment,所以以后请使用Environment来进行属性管理吧。
?
欢迎加入spring群134755960进行交流。
?