@Value-赋值,@PropertySource读取配置文件

配置

//使用@PropertySource读取外部配置文件中的k/v保存到运行的环境变量中;加载完外部的配置文件以后使用${}取出配置文件的值
@PropertySource(value = {"classpath:/entity1.properties"})
@Configuration
public class MyConfig2 {

    @Bean
    public Entity1 entity1(){
        return new Entity1();
    }
}
@Data
public class Entity1 {

    /**
     *  @Value 的三种写法
     *  1.基本的数值
     *  2.#{}  SpEL(Spring 表达式语言)
     *  3.${}  读取配置文件中数值
     */
    
    @Value("张三")
    private String name;

    @Value("#{100-30}")
    private int age;

    @Value("${entity1.address}")
    private String address;
}
entity1.address=吉林长春

 

输出

 @Test
    public void Test1(){
        AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MyConfig2.class);
        String[] beanDefinitionNames = applicationContext.getBeanDefinitionNames();
        for (String beanDefinitionName : beanDefinitionNames) {
            System.out.println(beanDefinitionName);
        }
        Entity1 entity1 = (Entity1)applicationContext.getBean("entity1");
        System.out.println(entity1);
    }

输出结果

 

 

@PropertySource注解值可以写数组填写多个文件
也可以用@PropertySources注解填写多个@PropertySource

 

posted @ 2022-06-04 19:46  Dabo丶  阅读(176)  评论(0编辑  收藏  举报