Spring @value和@PropertySource注解使用方法解析

这篇文章主要介绍了Spring @value和@PropertySource注解使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  • @Value注解:可以使用注入基本字符串 EL表达式,从配置文件读取数据
  • @PropertySource用于引入单个配置文件
  • @PropertySources用于引入多个配置文件
  • @PropertySource或者@PropertySources引入的数据都是存在环境变量ConfigurableEnvironment中的
  • 在resouces文件夹下新建一个cat.properties文件,写入内容parent=tiger
public class Cat {
  @Value("猫") //直接注入字符串
  private String name;
  @Value("#{12+2}") //支持EL表达式
  private int age;
  @Value("${parent}") //支持配置文件读取
  private String parent;
  public Cat() {
    System.out.println("猫被初始化");
  }

  @Override
  public String toString() {
    return "Cat{" +
        "name='" + name + '\'' +
        ", age=" + age +
        ", parent='" + parent + '\'' +
        '}';
  }
}
@Import({Cat.class})
@PropertySources({@PropertySource(value ="cat.properties")})
public class Appconfig {
}
public class Demo {
  public static void main(String[] args) {

    AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Appconfig.class);
    Cat bean = context.getBean(Cat.class);
    System.out.println(bean); //Cat{name='猫', age=14, parent='tiger'}
    ConfigurableEnvironment environment = context.getEnvironment();
    System.out.println(environment.getProperty("parent")); //tiger


  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。