十一、【注解】Spring注解@Value
- 首先定义实体
/**
* @author zhangjianbing
* @date 2020年9月23日
*/
@Data
public class Apple {
@Value("${apple.color}")
private String color;
@Value("红富士")
private String name;
}
- 属性文件test.properties放在resource下
apple.color=red
- spring的配置类
@PropertySource(value = "classpath:/test.properties")将属性文件读取到内存中
/**
* @author zhangjianbing
* @date 2020年9月23日
*/
@Configuration
@PropertySource(value = "classpath:/test.properties")
public class AppleConfig {
@Bean
public Apple apple() {
return new Apple();
}
}
- 测试
/**
* @author zhangjianbing
* @date 2020年9月23日
*/
public class Test01 {
@Test
public void test01() {
AnnotationConfigApplicationContext app = new AnnotationConfigApplicationContext(AppleConfig.class);
// 从容器中获取所有的bean
String[] names = app.getBeanDefinitionNames();
for (String name : names) {
System.out.println("bean的名字--->" + name);
}
Apple apple = (Apple) app.getBean("apple");
System.out.println(apple);
System.out.println("==========IOC容器创建完成==========");
ConfigurableEnvironment environment = app.getEnvironment();
String property = environment.getProperty("apple.color");
System.out.println("获取配置文件中的属性---->" + property);
}
}
- 测试结果
bean的名字--->org.springframework.context.annotation.internalConfigurationAnnotationProcessor
bean的名字--->org.springframework.context.annotation.internalAutowiredAnnotationProcessor
bean的名字--->org.springframework.context.annotation.internalRequiredAnnotationProcessor
bean的名字--->org.springframework.context.annotation.internalCommonAnnotationProcessor
bean的名字--->org.springframework.context.event.internalEventListenerProcessor
bean的名字--->org.springframework.context.event.internalEventListenerFactory
bean的名字--->appleConfig
bean的名字--->apple
Apple(color=red, name=红富士)
==========IOC容器创建完成==========
获取配置文件中的属性---->red