课程Spring注解驱动学习笔记(五)属性赋值-Value&PropertySource配置文件

使用xml配置文件可以直接在property中添加value属性,使用context:property-placeholder的location属性来指定配置文件位置



	
	

换成配置文件我们可以在属性上面添加@Value注解

//使用@Value赋值;
//1、基本数值
//2、可以写SpEL; #{}
//3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值)
@Value("张三")
private String name;
@Value("#{20-2}")
private Integer age;
@Value("${person.nickName}")
private String nickName;

添加配置文件src/main/resources/person.properties

person.nickName=123

配置类

@PropertySource(value = { "classpath:/person.properties" })
@Configuration
public class MainConfigOfPropertyValues {
	@Bean
	public Person person() {
		return new Person();
	}
}

我们还可以通过这种方式来获取配置文件属性通过applicationContext.getEnvironment()获取ConfigurableEnvironment环境变量,通过环境变量获取配置文件的值。

测试类

public class IOCTest_PropertyValue {
	AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfPropertyValues.class);
	@Test
	public void test01(){
		printBeans(applicationContext);
		Person person = (Person) applicationContext.getBean("person");
		System.out.println(person);
		ConfigurableEnvironment environment = applicationContext.getEnvironment();
		String property = environment.getProperty("person.nickName");
		System.out.println(property);
		applicationContext.close();
	}

我们可以通过多个@PropertySource指定多个配置文件,也可以通过@PropertySources指定多个PropertySource。

你可能感兴趣的:(Spring,#,注解驱动开发)