Spring基礎組件之@Value

@Value 作用是給類的屬性賦值的。

三種使用方法:1.基本字符;2.springEL表達式;3.讀取配置文件中的內容

首先在src/main/resources下建立一個文件test.properties

然後在配置類中配置路徑

@Configuration
@PropertySource("classpath:/test.properties")
public class MainConfig8 {
    @Bean
    public Person person(){
        return new Person();
    }
}
public class Person {
    //@Value 三種使用方法:1.基本字符;2.springEL表達式;3.讀取配置文件中的內容
    @Value("dapeng")
    private String name;
    @Value("#{30-5}")
    private Integer age;
    @Value("${person.height}")
    private Float height;

    public Person() {
    }

    public Person(String name, Integer age, Float height) {
        this.name = name;
        this.age = age;
        this.height = height;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Float getHeight() {
        return height;
    }

    public void setHeight(Float height) {
        this.height = height;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", height=" + height +
                '}';
    }
}

測試:

@Test
    public void test01() {
        AnnotationConfigApplicationContext app = new AnnotationConfigApplicationContext(MainConfig8.class);
        System.out.println("容器加載完成 。。。");

        Person person = (Person) app.getBean("person");
        System.out.println(person);

        String height = app.getEnvironment().getProperty("person.height");
        System.out.println("Environment --> person.height="+height);
    }

測試結果:

其中讀取配置文件中的內容這種使用方式我們平時用的最多,容器在啓動的時候根據配置類將配置文件的內容加載到Environment中,我們可以在Environment中獲取到相關內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章