當(dāng)在.properties文件中寫入 一些值時(shí)所坯,我們可以通過在類的屬性上使用@Value注解,取到這個(gè)值鳄逾。
如在配置文件中寫入
user=st
則在類中
public class Test(){
@Value("{user}")
private String user;
.....
}
這樣可以獲取到值涂佃。但是根據(jù)網(wǎng)上的例子励翼,我一直獲取不到,首先根據(jù)spring的例子辜荠,
想要使用@Value汽抚,必須把當(dāng)前類加入spring的容器管理, 如果使用注解伯病,就是在類上加入
@Controller @Service @Component 等容器注解造烁,可是我加入了@Component注解,依然不能獲取到值,但是如果是在@Controller 下惭蟋,則可以苗桂。翻閱多篇博客論壇后,終于找到原因告组。
原來(lái)煤伟,使用@Value的類,在spring中木缝,不能直接通過new 操作符來(lái)使用持偏,而是應(yīng)該通過spring的注解 @Autowired 來(lái)使用,
如
public class Test1(){
@Autowired
private Test test;
public void getValue(){
test.getUser(); //user=st
}
.....
}
這樣才能成功通過@Value注解取到配置文件中的值氨肌。