spring ¹ú¼Ê»¯£¨1£©
greeting.morning=good morning!
application_zh_CN.properties
greeting.morning=\u65e9\u4e0a\u597d
application_ja_JP.properties£¨ÎÒµçÄÔÊÇÈÕÎÄϵͳ--±¾µØÏµÍ³Ä¬Èϵı¾µØ»¯¶ÔÏó¶ÔÓ¦µÄ×ÊÔ´£©
greeting.morning=\u304a\u65e9\u3046\u3054\u3056\u3044\u307e\u3059
application.properties£¨Ä¬ÈϵÄ×ÊÔ´£©
greeting.morning=good morning!
?
2£¬ÅäÖÃ×ÊÔ´Îļþ
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd "> <bean id="resource" value="5"/><!-- ×ÊԴˢмä¸ôʱ¼ä --> </bean></beans>
?3£¬²âÊÔ
package spring3.local;import java.util.Locale;import org.springframework.context.ApplicationContext;import org.springframework.context.MessageSource;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main {public static void main(String[] args) throws InterruptedException {ApplicationContext context = new ClassPathXmlApplicationContext("spring3/local/resource.xml");// ÔËÐÐʱ²»ÐèҪˢÐÂ×ÊÔ´Îļþ¿ÉÒÔÓÃÏÂÃæ·½Ê½MessageSource resource = (MessageSource) context.getBean("resource");System.out.println("CHINA:"+ resource.getMessage("greeting.morning", null, Locale.CHINA));System.out.println("JAPAN:"+ resource.getMessage("greeting.morning", null, Locale.JAPAN));System.out.println("US:"+ resource.getMessage("greeting.morning", null, Locale.US));System.out.println("CANADA:"+ resource.getMessage("greeting.morning", null, Locale.CANADA));System.out.println();// ÔËÐÐʱÏ벻ֹͣ·þÎñË¢ÐÂ×ÊÔ´Îļþ¿ÉÒÔÓÃÏÂÃæ·½Ê½resource = (MessageSource) context.getBean("reloadableResource");System.out.println("ÐÞ¸ÄǰUS:"+ resource.getMessage("greeting.morning", null, Locale.US));// ÐÞ¸ÄÎļþapplication_en_US.properties// greeting.morning=good morning!// -->greeting.morning=good night!Thread.sleep(20000);System.out.println("Ð޸ĺóUS:"+ resource.getMessage("greeting.morning", null, Locale.US));}}
?²âÊÔ½á¹û£º
CHINA:ÔçÉϺÃJAPAN:¤ªÔ礦¤´¤¶¤¤¤Þ¤¹US:good morning!CANADA:¤ªÔ礦¤´¤¶¤¤¤Þ¤¹ÐÞ¸ÄǰUS:good morning!Ð޸ĺóUS:good night!
?´Ë´¦¿ÉÒÔ˵Ã÷:
(1)£¬canada¶ÔÓ¦µÄ×ÊÔ´Îļþ²»´æÔÚ£¬Ëû°´ÕÕÇ°Ãæºì×ÖËùʾ˳ÐòÊ×ÏȲéÕÒÎÒ±¾»úµÄlocale¶ÔÓ¦µÄ×ÊÔ´Îļþ£¬Èç¹ûÕÒµ½£¬ÔòÊä³öÕâ¸ö×ÊÔ´ÎļþÖеÄÐÅÏ¢¡£
(2)£¬ÓÃReloadableResourceBundleMessageSourceÕâ¸öÀàʱ£¬È·ÊµÃ»ÓÐÖØÐÂÆô¶¯·þÎñ¶øË¢ÐÂÁË×ÊÔ´ÎļþµÄÐÅÏ¢¡£
?
4£¬ÎÒÃǼÌÐøÊµÑ飬½«ÈÕÎĵÄ×ÊÔ´Îļþɾ³ýµôºó¡£
²âÊÔ½á¹û
CHINA:ÔçÉϺÃJAPAN:good morning!US:good morning!CANADA:good morning!ÐÞ¸ÄǰUS:good morning!Ð޸ĺóUS:good night!
?¿ÉÒÔ¿´µ½£¬ÈÕÎĺͼÓÄôóµÄÊä³ö¶¼±ä³ÉÁËĬÈÏ×ÊÔ´ÎļþÖеÄÖµ¡£
?
5£¬ÎÒÃÇÔÙ´ÎʵÑ飬°ÑĬÈÏ×ÊÔ´Îļþɾ³ýµô¡£
CHINA:ÔçÉϺÃ3 19, 2013 4:00:54 Îçáá org.springframework.context.support.ResourceBundleMessageSource getResourceBundle¾¯¸æ: ResourceBundle [spring3/local/application] not found for MessageSource: Can't find bundle for base name spring3/local/application, locale ja_JPException in thread "main" org.springframework.context.NoSuchMessageException: No message found under code 'greeting.morning' for locale 'ja_JP'.
?±¨³öÒì³£ÁË¡£
?
´Ó¶ø¿ÉÒÔÑéÖ¤×ÊÔ´ÎļþµÄ²éÕÒ˳Ðò¡£
¢ÙÖ¸¶¨locale¶ÔÓ¦µÄ×ÊÔ´Îļþ£¬´æÔÚÔò½áÊø£¬²»´æÔÚÍùϼÌÐø²éÕÒ
¢Ú±¾»ú¶ÔÓ¦µÄlocale¶ÔÓ¦µÄ×ÊÔ´Îļþ£¬´æÔÚÔò½áÊø£¬²»´æÔÚÍùϼÌÐø²éÕÒ
¢ÛĬÈÏÖ¸¶¨µÄ×ÊÔ´Îļþ£¬´æÔÚÔò½áÊø£¬²»´æÔÚÍùϼÌÐø²éÕÒ
¢ÜÉϼǶ¼²»´æÔÚʱ£¬Å׳öÒì³£¡£