Spring 注解之 @PropertySource @Value


@Value注解和@PropertySource注解配合使用可以將(*.properties)配置文件中的內容動態的注入到實體類中.具體步驟如下:

  1、自定義實體類(Person.java)

// 對象注入Spring容器中,交由Spring進行管理
@Component
// 加載classpath下的application01.properties配置文件中的信息
@PropertySource("classpath:/application01.properties")
// 實體類省略了set/get和toString方法
public class Person {
    @Value("${id}")
    private String id;
    @Value("${person.name}")
    private String name;
    @Value("${person.xiaomaomao.age}")
    private String age;
}

  2、配置文件內容(application01.xml,配置文件放置在resources下)

id=9527
person.name=xiaomaomao
person.xiaomaomao.age=22

  3、配置類

@Configuration
@ComponentScan("com.spring01")
public class SpringConfiguration {
}

  4、測試類

public class SpringDemo {

    @Test
    public void springTest01() throws Exception {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfiguration.class);
        Person person = context.getBean("person", Person.class);
        System.out.println(person);

        // properties中的配置文件內容會被加載到Spring的環境中,可以通過Environment對象獲取
        Environment environment = context.getEnvironment();
        String id = environment.getProperty("id");
        String name = environment.getProperty("person.name");
        String age = environment.getProperty("person.xiaomaomao.age");
        System.out.println(id + "   " + name + "   " + age);

    }
}

  5、測試結果

Person{id=9527, name='xiaomaomao', age=22}
9527   xiaomaomao   22

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM