@Value 注解用于将配置文件中的属性值注入到Spring管理的Bean中。
1. 基本用法
@Value 可以直接注入配置文件中的属性值。
配置文件 (application.properties 或 application.yml)
配置文件定义需要注入的数据。
consumer:username: lisiage: 23hobby: sing,read,sleepsubject: 100,150
注入属性值
分别定义字符串、整数、数组、集合类型成员变量,并将配置文件中对应数据注入。
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;import java.util.Arrays;
import java.util.List;@Component
public class Consumer {@Value("${consumer.username}")private String username;@Value("${consumer.age}")private int age;@Value("${consumer.hobby}")private String[] hobby;@Value("${consumer.subject}")private List<Integer> subject;@Overridepublic String toString() {return "Consumer{" +"username='" + username + '\'' +", age=" + age +", hobby=" + Arrays.toString(hobby) +", subject=" + subject +'}';}
}
@Value 通常用于注入简单类型(如字符串、数字等)。如果需要注入复杂对象,建议使用 @ConfigurationProperties。
测试运行
@SpringBootTest
public class WebTest {@Autowiredprivate Consumer consumer;@Testpublic void test(){System.out.println(consumer);}}