spring 实战4 运行时的注入
有时候硬编码是可以的,但有的时候。我们可能会希望避免硬编码值,而是想让这些值在运行时在确定。为了实现这些功能,Spring提供了两种在运行时求值的方式:
1.属性占位符(Property placeholder)。
2.Spring表带是语言(SqEL)。
一、注入外部的值
在Spring中,处理外部值的最简单方式就是声明属性源并通过Spring的Environment来检索属性。
在本例中,@PropertySource引用了类路劲中的一个名为App.properties的文件,他大致会如下所示:
这个属性文件会加载Spring的Environment中,稍后可以从这里检索属性。同时,在disc()方法中,会创建一个新的BlankDisc,它的构造器参数是从属性文件中获取的,二这是通过调用getProperty()实现的。
当我们需要获取不同类型的值是,可以使用getProperty()的重载方法。
Environment还提供了几个与属性相关的方法。