瘋狂

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

          spring :硬編碼注入bean實例

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

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

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


          現在為減少配置文件進行手動編碼注入:具體如下

           

          public class TestRegisterBean {

           
          public static void main(String[] args) {

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

          applicationContext.getBeanFactory();
            GenericBeanDefinition messageSourceDefinition 
          = new GenericBeanDefinition();
           
            
          //參數參考上面配置文件里面
            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));
            
          //注冊
            beanFactory.registerBeanDefinition("ResourceBundleMessageSource",
              messageSourceDefinition);
            
          //獲取
            ResourceBundleMessageSource messageSource = (ResourceBundleMessageSource) applicationContext
              .getBean(
          "ResourceBundleMessageSource");
                          
          //測試
            System.out.println(messageSource.getMessage("test"nullnull));
           }


          }


          測試本實例需在classpath下面創建messages_zh_CN.properties 并添加test。

          主站蜘蛛池模板: 汾西县| 建昌县| 小金县| 拉孜县| 长顺县| 璧山县| 温州市| 南部县| 河曲县| 静乐县| 调兵山市| 金华市| 天气| 邳州市| 平原县| 高州市| 秭归县| 济阳县| 婺源县| 厦门市| 锦州市| 博客| 南充市| 马关县| 瑞安市| 边坝县| 洛阳市| 鄂伦春自治旗| 平乡县| 平南县| 蓬莱市| 开原市| 宁远县| 昌平区| 突泉县| 鸡东县| 珲春市| 崇明县| 浙江省| 通榆县| 张家口市|