十一、【注解】Spring注解@Value

  1. 首先定义实体
/**
 * @author zhangjianbing
 * @date 2020年9月23日
 */
@Data
public class Apple {

    @Value("${apple.color}")
    private String color;

    @Value("红富士")
    private String name;

}
  1. 属性文件test.properties放在resource下
apple.color=red
  1. 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();
    }

}
  1. 测试
/**
 * @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);
    }

}
  1. 测试结果
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
原文地址:https://www.cnblogs.com/zhangjianbing/p/13726689.html