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


    }
}




猜你喜欢

转载自www.cnblogs.com/yangxiaohui227/p/11961948.html
今日推荐