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注解简单使用的主要内容,如果未能解决你的问题,请参考以下文章

List,泛型和Datatable 的相互转换

为 QML ListView 实现 QAbstractListModel 子类?

如何创建依赖于 Spring Bean 的自定义 Spring PropertySource

有两个表A 和B ,均有key 和value 两个字段,如果B 的key 在A 中也有,就把B 的value 换为A 中对应的value

第十一章 赋值表达式和打印

Integer.MAX_VALUE 和 Integer.MIN_VALUE