由Spring引出的一些瞎想(2)

之前利用List<List>进行创建实例,主要存在的问题是要求各个类的属性的个数必须一致。


为了能够可以不受这个限制,考虑用Map来存放XML中的配置信息




因为要创建XML中配置的所有的对象,所以还是用List来储存,不同的的是List<Map>,用map来储存创建实例所需要的全部信息。每个map除了需要有创建实例所需要的属性以外,还要有该类的全类名。这个全类名也从XML中获取。





同样,在各个类中也需要重新创建构造方法,接收一个Map<String,String>来创建实例对象。




有了这个构造方法后,BeanFactory类就可以接收一个Map<String,String>来创建Bean。



然后就可以得到在XML文件中所创建的所有对象的实例




梳理一下整个过程:

1.DocumentParse类,负责解析XML文件,得到一个List<Map>,Map<String,String>储存要创建的对象的全类名,和属性的赋值。

2.BeanFactory类,负责接收一个Map<String,String>,根据得到的内容创建Object



 存在的问题:

虽然可以根据具体的类创建对象,但是依然要求每个类提供构造方法。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值