spring @value和@@PropertySource注解简单使用
Posted yangxiaohui227
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 } }
以上是关于spring @value和@@PropertySource注解简单使用的主要内容,如果未能解决你的问题,请参考以下文章
spring 通过@Value 获取properties文件中设置了属性 ,与@Value # 和$的区别
2021-12-29 Spring中@Autowired和@Value的预解析和属性注入