選取任意一個spring-***檔案寫入:
<context:property-placeholder location="classpath:database.properties,classpath:de.properties"/>
在spring mvc架構中,如果希望在程式中直接使用properties中定義的設定值,通常使用一下方式來獲取:
@Value("${tag}")
private String tagValue;
但是取值時,有時這個tagvalue為NULL,可能原因有:
使用static或final修飾了tagValue,如下:
private static String tagValue; //錯誤
private final String tagValue; //錯誤
類沒有加上@Component(或者@service等)
@Component //遺漏
class TestValue{
@Value("${tag}")
private String tagValue;
}
類被new新建了範例(踩過這個坑),而沒有使用@Autowired
@Component
class TestValue{
@Value("${tag}")
private String tagValue;
}
錯誤範例:
class Test{
...
TestValue testValue = new TestValue()
}
正確範例:
class Test{
...
@Autowired
private TestValue testValue;
}