【工作笔记】003 一脸懵逼的框架

WADE框架:

项目采用开发框架非SSM、非SSH,而是自己公司开发的WADE框架:

文档地址

http://doc.wadecn.com/

简介(摘自百度):

WADE框架是基于J2EE体系架构的应用系统开发框架,可广泛的做为B/S架构下的应用系统的底层开发框架,特别在电信业务支撑系统中积累了大量的不同场景下的实现方案和丰富的业务组件,更适合做为基于B/S架构的门户网站和各种业务管理系统的底层开发框架,对于企业级应用系统能够提供更好的使用操作的一致性、应用系统的稳定可靠性以及可扩展性等。

xml报文:

项目http数据传输采用xml方式,并没有采用json格式,我想是因为json格式是近几年才流行起来的数据格式,而公司的系统诞生很早,所以就采用xml格式。

设置http请求数据格式方法:

    //xml
    Content-Type : text/xml

    //json
    Content-Type : application/json

关于xml:

XML的解析方式分为四种:1、DOM解析;2、SAX解析;3、JDOM解析;4、DOM4J解析。常用的就是是Dom4j,它的性能最好(对于小的xml)。

Dom4j解析xml示例:

    public static void main(String[] args) throws SAXException, DocumentException, IOException {
            String xmlFile = "C:\\Users\\Administrator\\Desktop\\test.xml";
            SAXReader saxReader = new SAXReader();
            //读取xml文档对象
            Document document = saxReader.read(xmlFile);
            //获取root元素
            Element root = document.getRootElement();
            //获取root下的name元素的值
            System.out.println(root.element("name").getText());
            //遍历
            Iterator iterator = root.elementIterator();
            while (iterator.hasNext()){
                Element element = iterator.next();
                System.out.println(element.getName()+":"+element.getText());
            }

            //在root下添加元素
            root.addElement("sex").setText("boy  ");
            //3个参数,含义分别为:缩进格式,是否换行,编码
            OutputFormat opf=new OutputFormat("\t",true,"UTF-8");
            //去除首位空格
            opf.setTrimText(true);
            XMLWriter writer=new XMLWriter(new FileOutputStream(xmlFile),opf);
            writer.write(document);
        }

主要几点:

1.创建xml解析器:

SAXReader saxReader = new SAXReader();

2.读取xml文档对象

    Document document = saxReader.read(xmlFile);

3.获取root元素

    Element root = document.getRootElement();

4.获取root下的name元素的值

   System.out.println(root.element("name").getText());

5.遍历

    Iterator iterator = root.elementIterator();

关于代码优化:

优化:null与”“和其他值比较时放在前面,当其他值为null时可以避免NullPointException

对List遍历时尽量使用迭代器iterator,会比直接用for循环效率高

看项目的代码时返现有些方法达到了300行左右,异常庞大,感觉不是很好,并且用了大量的if,并没有将if语句中的逻辑抽离出来。

存在大量重复判断为null的情况。

存在好多参数超过5个以上的方法,且参数类型相同,稍不注意就会传错参数,感觉不是很好,可以考虑使用Builder模式来提高可读性。

你可能感兴趣的:(工作笔记)