瘋狂

          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。

          主站蜘蛛池模板: 扬中市| 刚察县| 互助| 孟津县| 梓潼县| 景东| 大庆市| 德庆县| 甘洛县| 清镇市| 徐汇区| 方城县| 衡阳市| 新源县| 图木舒克市| 潜江市| 福贡县| 黄大仙区| 沙雅县| 潞西市| 梧州市| 开江县| 夏津县| 平度市| 闽清县| 夏河县| 定边县| 奉贤区| 华阴市| 慈溪市| 城口县| 汾阳市| 武冈市| 博湖县| 怀安县| 双鸭山市| 汕头市| 靖西县| 准格尔旗| 商洛市| 且末县|