1、@Value注解
1、基本数值
2、可以SpEl:#{}
3、可以写${};取出配置文件的值
2、@PropertySource和@PropertySources注解
使用@PropertySource读取外部配置文件中的key/value保存到运行环境变量中;加载完外部的配置文件以后使用${}获取值
- MainConfigOfPropertyValues类
@PropertySource(value = {"classpath:/person.properties"})
//@PropertySources(value = {@PropertySource("classpath:/person.properties")})
@Configuration
public class MainConfigOfPropertyValues {
@Bean
public Person person() {
return new Person();
}
}
- Person类
@Value("")
private String name;
@Value("#{20-2}")
private Integer age;
@Value("${person.nickName}")
private String nickName;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Integer getAge() { return age; }
public void setAge(Integer age) { this.age = age; }
public Person(String name, Integer age) { super(); this.name = name; this.age = age; }
public Person() { super(); }
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", nickName=" + nickName + "]";
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
- Test1类
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class);
@Test
public void test1() {
System.out.println(context.getBean(Person.class));
context.close();
}
- person.properties文件
person.nickName=\u5F20\u4E09
- 目录结构
- 输出结果