前言
Bean装配一方面是将另外一个bean引用注入到另外一个bean钟,另外一个方面是将一个值注入到bean的属性或者构器参数中。在注入值时,我们可能会希望避免硬编码,而是希望这些值在运行时再确定。为了实现这些功能,spring提供了两种在运行时求值的方式。分别是属性占位符和spring表达式语言。
属性占位符用法
在Spring中,处理外部值得最简单方式就是声明属性源并通过Spring的Environment来检索属性,示例如下:
@Configuration
@PropertySource("classpath:/com/test/app.properties")
public class ExpressConfig{
@Autowired
Environment env;
@Bean
public BlankDisc disc(){
return new BlankDis(env.getProperty("title"),env.getProperty(artist));
}
}
在上面的例子中,@PropertySource应用了类路径中一个名为app.properties的文件,文件的内容为:
title=I love you
artist=testprogram
这个属性文件会加载到Spring的Environment中,稍后可以从这里检索属性。