欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nutz 1.a.27 最新变化之一 -- XML配置ioc 博客分类: Nutz IOCXMLGoogle 

程序员文章站 2024-02-04 17:11:40
...
刚刚发布的Nutz 1.a.27 , 正式支持使用XML来配置Ioc容器了.
参考新闻: http://www.iteye.com/news/15809-nutz-1-a-27

问题是,如何使用呢? 我来简单介绍一下

就拿项目wiki的ioc入门例子来演示一下 http://code.google.com/p/nutz/wiki/ioc_hello

用js来写的话:
var ioc = {
        xiaobai : {
                name : 'XiaoBai',
                birthday : '2009-10-25 15:23:40'
        },
        xiaohei : {
                type : 'nutz.demo.ioc.book.Pet', // 类型
                singleton : false, // 是否为单件
                args : [ 'XiaoHei' ], // 构造函数参数
                fields : {
                        birthday : '2009-11-3 08:02:14',
                        friend : {refer : 'xiaobai'}    // 指向容器里另外一个对象
                }
        }
}


改为使用xml来写:
<?xml version="1.0" encoding="UTF-8"?>
<ioc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:noNamespaceSchemaLocation="nutz-ioc-0.1.xsd">
    <obj name="xiaobai" type="nutz.demo.ioc.book.Pet">
        <field name="name"><str>XiaoBai</str></field>
        <field name="birthday"><str>2009-10-25 15:23:40</str></field>
    </obj>
    <obj name="xiaohei" type="nutz.demo.ioc.book.Pet" singleton="false">
        <args>
            <str>XiaoHei</str>
        </args>
        <field name="birthday"></field>
        <filed name="friend"><refer>xiaobai</refer></field>
    </obj>
</ioc>


调用代码相应的改为:
        public static void main(String[] args) {
                Ioc ioc = new NutIoc(new XmlIocLoader("nutz/demo/ioc/pet/pets.xml"));
                Pet pet = ioc.get(Pet.class, "xiaobai");
                System.out.printf("%s - [%s]\n", pet.getName(), pet.getBirthday().getTimeZone().getID());
        }
相关标签: IOC XML Google