XML建模

分析:

  1. 将每个元素节点看作一个类,元素节点的属性就是类的属性,元素节点下的子元素节点就用集合来装。
    创建一个模型类:ConfigModel、ActionModel、ForwardModel。

    ConfigModel中没有属性,只有0~N个ActionModel;
    ActionModel中有属性path,type,还有0~N个ForwardModel;
    ForwardModel中有属性name,path,redirect,没有子元素节点。


    public class ConfigModel implements Serializable{
    private Map<String, ActionModel> configMaps = new HashMap<String, ActionModel>();
    //封装,重写get方法,put方法自己写
    }

    public class ActionModel implements Serializable{
    private String patht;
    private String type;
    private Map<String, ForwardModel> forwardMaps = new HashMap<String, ForwardModel>();
    //封装,重写get/set方法,集合写put和get
    }

    public class ForwardModel implements Serializable{
    Map<String, String> configMaps = new HashMap<String, String>();
    }

    注:一般类中放一个无参的构造方法。

写好后与xml对比下,写的这些类与xml结构是否匹配,缺什么补什么。

  1. 创建工厂类:ConfigModelFactory,用来生产ConfigModel。
    工厂模式:私有化构造方法,创建静态代理方法。

操作步骤
1.分析config.xml,根据元素,创建相应的 model 实体类
Forward类
Action类
Config类

  1. 为每个model实体类设置属性和set/get方法
    注意:Action类中声明一个Map集合,并且将Forward对象的name做为Map集合的key,将Forward做为Map集合的value,然后再添加两个操作Map集合的方法:addForward(), getForward(),作用是可以从Map集合中添加Forward对象,和取出Forward对象。

  2. 创建工厂类
    创建Config类的工厂类:ConfigFactory,用于实例化Config对象
    通过dom4j+xpath去解析config.xml,将每个元素都实例化相应的对象,存入父级Map集合中

  3. 创建测试类
    从Config从获得Map集合,遍历
    再从Action中获得Map集合,遍历

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值