我们知道,使用注解可以为spring的Bean自动装配其他Bean的引用,那么是否可以使用注解来装配简单的值呢?spring在3.0版本引入了@Value,这是一个新的装配注解,可以让我们使用注解来装配简单的String类型或者基本类型的值。
我们可以使用@Value直接标注某个属性,方法或者方法参数,并传入一个String类型的表达式来装配属性,如下代码:
@Value("Dusoeil")
private String name;
在这里,我们为spring类型的属性装配了一个string类型的值:Dusoeil,注意,此处传入@Value的String类型的值只是一个表达式,它可以是任意类型,因此@Value可以标注任意类型的属性。同时,我们可以借助SpEl表达式来让@Value注解变得强大起来,而不是仅仅用来硬编码某个值,例如,对于上述代码,我们为通过@Value为name属性硬编码了一个静态值,下面代码将让我们使用@Value为name获取一个值(动态值):
@Value("#{Wife.getName()}")
private String name;
如上所述,@Value不仅仅是装配了一个静态值,而是根据SpEl来动态的计算name的值了。