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来写的话:
改为使用xml来写:
调用代码相应的改为:
参考新闻: 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()); }