@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