文章目录
@Value是Spring框架中的一个注解,它可以用来注入配置文件中的属性值或者表达式的值。它可以用在类、字段方法、构造函数等等上面,非常方便。@Value的底层工作原理可以分为两个部分:解析属性值和注入属性值。
1. 解析属性值
Spring框架中使用PropertySourcesPlaceholderConfigurer类来解析属性值。这个类会扫描配置文件中的占位符,例如${property.name},并替换为对应的属性值。在解析之前,Spring容器会将配置文件加载到环境变量中,以便在运行时查找属性值。当我们使用@Value注解时,Spring框架会从环境变量中查找对应的属性值并替换。