瘋狂

          STANDING ON THE SHOULDERS OF GIANTS
          posts - 481, comments - 486, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          spring :硬編碼注入bean實(shí)例

          Posted on 2012-11-16 17:12 瘋狂 閱讀(4119) 評(píng)論(0)  編輯  收藏 所屬分類: spring

          本實(shí)例通過手動(dòng)編碼注冊(cè)spring國際化處理的bean(ResourceBundleMessageSource):
          在通過xml文件來注冊(cè)國際化處理bean時(shí)的配置:

          <beans>  
             
          <bean id="messageSource"  class="org.springframework.context.support.ResourceBundleMessageSource">       
                
          <property name="basename" value="messages"/>  
                
          <property name="useCodeAsDefaultMessage" value="true"/>  
             
          </bean>  
          </beans>  


          現(xiàn)在為減少配置文件進(jìn)行手動(dòng)編碼注入:具體如下

           

          public class TestRegisterBean {

           
          public static void main(String[] args) {

            ClassPathXmlApplicationContext applicationContext 
          = new ClassPathXmlApplicationContext(
              
          "applicationContext.xml");//在web環(huán)境下也可通過如下如方式獲取
          //
          WebApplicationContextUtils.getRequiredWebApplicationContext(servletContextEvent
                .getServletContext());
            
            DefaultListableBeanFactory beanFactory 
          = (DefaultListableBeanFactory)                 

          applicationContext.getBeanFactory();
            GenericBeanDefinition messageSourceDefinition 
          = new GenericBeanDefinition();
           
            
          //參數(shù)參考上面配置文件里面
            Map<String , String> original = new HashMap<String, String>();
            original.put(
          "basenames""messages");
            original.put(
          "useCodeAsDefaultMessage""true");
            messageSourceDefinition.setBeanClass(ResourceBundleMessageSource.
          class);
            messageSourceDefinition.setPropertyValues(
          new MutablePropertyValues(original));
            
          //注冊(cè)
            beanFactory.registerBeanDefinition("ResourceBundleMessageSource",
              messageSourceDefinition);
            
          //獲取
            ResourceBundleMessageSource messageSource = (ResourceBundleMessageSource) applicationContext
              .getBean(
          "ResourceBundleMessageSource");
                          
          //測試
            System.out.println(messageSource.getMessage("test"nullnull));
           }


          }


          測試本實(shí)例需在classpath下面創(chuàng)建messages_zh_CN.properties 并添加test。

          主站蜘蛛池模板: 贡觉县| 广安市| 依安县| 甘谷县| 达拉特旗| 长武县| 青铜峡市| 大埔区| 浙江省| 汉源县| 东宁县| 泽州县| 贵溪市| 潼南县| 日土县| 兴安县| 黔南| 车险| 五寨县| 化德县| 伊金霍洛旗| 绥滨县| 旬阳县| 张掖市| 资溪县| 石狮市| 清河县| 那曲县| 台山市| 龙江县| 平南县| 武乡县| 金川县| 邵阳县| 宿松县| 黎川县| 定结县| 建水县| 阿拉善左旗| 老河口市| 柯坪县|