我有類似的問題,但是是春天的新手。 我試圖性能加載到一個@Service,並試圖用@Value檢索與屬性值...
@Autowired
public @Value("#{myProperties['myValue']}") String myValue;
我花了一整天試圖註解的各種組合,但它總是返回null 。 最後,事實之後,答案一如既往顯而易見。
1)確保彈簧被包括包層次結構 在你servlet.xml的掃描您的類註釋(它會掃描低於基準值一切你插入。
2)確保你不是在'剛剛告訴Spring看的那類新課程'。相反,您在@Controller類中使用@Autowire。
Spring中的所有東西都是一個單例,發生了什麼事情是Spring將這些值加載到它的Singleton中,然後我'新建了一個不包含新加載值的類的另一個實例,所以它始終爲空。
改爲在@Controller中使用...
@Autowired
private MyService service;
調試...... 有一件事我沒有找到這是如下致以服務...
@Service
public class MyService implements InitializingBean
然後把調試語句...
@Override
public void afterPropertiesSet() throws Exception {
// TODO Auto-generated method stub
LOGGER.debug("property myValue:" + myValue);
}
在這裏,我可以看到初始化時設置的值,後來當我將它打印到一個方法爲null時,所以這對我來說是一個很好的線索,它不是同一個實例。
這個錯誤的另一個線索是,Tomcat抱怨超時試圖從無法解析HTTPheader的Socket讀取......這是因爲Spring已經創建了服務的實例,所以我有,所以我的一個人在做真正的工作,而春天正在其實例中超時。
來源
2013-08-23 13:21:04
Rob
Config類定義爲spring bean嗎? – Raghuram 2010-11-09 04:28:14
不可以?我將如何做註釋? – Polaris878 2010-11-09 04:39:15
我試過在班上使用「@Component」和「@Controller」,都沒有工作 – Polaris878 2010-11-09 04:57:14