常量转化为配置文件新思路

这一次,学了一个新的东西,可以说是思想上的革命了,我重来没有这么想过,把一些复杂的常量独立出来写成一个专门的配置文件,这样做的好处不少。1,代码更具有灵活性,可扩展性。2,只读取一次,把全部存储于内存中,要哪一个就调用哪一个,不用全部取出。现在把读取xml配置文件的代码公布出来。忘记的时候可以看。

配置文件如下:




    
    
    
    
    


    
    
    
    
    


    
    
    
    
    


    
    
    
    
    


    
    
    
    
    

package com.my.util;

import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;




public class RleaseXml {
   // 用map存储数据
    private static Map map =new HashMap();
    public void RleaseXml(){
        initXMLByName("exportCfg.xml");
    }
    
    public void initXMLByName(String fileName){
        /**
         * 解析完成之后,对变量赋值并放入map中
         */
        SAXReader saxReader =new SAXReader();
        Document document =null;
        try{
            URL xmlPath =this.getClass().getClassLoader().getResource(fileName);
            document =saxReader.read(xmlPath);
            Element root =document.getRootElement();
            int a=    root.elements().size();
            String rootName = root.getName();
            
            for(Iterator iter = root.elementIterator();iter.hasNext();){
                Element element =(Element)iter.next();
                String look = element.getName();
            
                String[] strs = new String[5];
                for(int i=0;i                    strs[0]= element.element("paramsName").attributeValue("value");
                    strs[1] = element.element("filename").attributeValue("value");
                    strs[2] = element.element("tableViewName").attributeValue("value");
                    strs[3] = element.element("fieldsList").attributeValue("value");
                    strs[4] = element.element("titleList").attributeValue("value");
                    map.put(strs[0], strs);
                    
                }
                
                
                
                
            }
        }
        catch(Exception e){
            e.getStackTrace();
        }
        
    }
    //根据Key,得到value
    public static String[] getStringByName(String name){
        return map.get(name);
    }
}

转载于:https://www.cnblogs.com/wsm1991/p/3554661.html

你可能感兴趣的:(常量转化为配置文件新思路)