上一节讲了Spring高级装配的一些要点,主要是将一个bean的引用注入到另外一个bean的属性或构造器参数中。但是,我们有时候需要将一个值注入到bean的属性或者构造器参数中,而这个值是在运行时产生的,这一节主要讲bean装配中经常遇到的运行时值注入问题。
Spring提供了两种在运行时求值的方式:
- 属性占位符(Property PlaceHolder)
- Spring表达式语言(SpEL)
1,属性占位符
在Spring中,处理外部值最简单的方式就是声明属性源并通过将Spring的Environment来检索属性。在基于Java的配置中,可以通过@PropertySource注解声明属性源,例如:
package com.example.config;
import com.example.chr1s.BlankDisc;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;<