導讀
概述
執行個體
注意事項
Spring-國際化資訊01-基礎知識
Spring-國際化資訊02-MessageSource接口
Spring-國際化資訊03-容器級的國際化資訊資源
我們檢視ApplicationContext中的源碼可以看到
ApplicationContext 實作了 MessageSource 接口。
在一般情況下,國際化資訊資源應該是容器級。我們一般不會将MessageSource作為一個Bean注入到其他的Bean中,相反MessageSource作為容器的基礎設施向容器中所有的Bean開放。
國際化資訊一般在系統輸出資訊時使用,如Spring MVC的頁面标簽,控制器Controller等,不同的子產品都可能通過這些元件通路國際化資訊,是以Spring就将國際化消息作為容器的公共基礎設施對所有元件開放。
Spring根據反射機制從BeanDefinitionRegistry中找出名稱為“messageSource”且類型為org.springframework.context.MessageSource的Bean,将這個Bean定義的資訊資源加載為容器級的國際化資訊資源.
代碼已托管到Github—> https://github.com/yangshangwei/SpringMaster

資源檔案
配置檔案
測試類
運作結果:
MessageSource Bean名字必須命名為“messageSource”,以上代碼将抛出NoSuchMessageException異常
假設我們将id=”messageSource” 改為 id=”messageSource1”
再此運作