Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3352026
  • 博文数量: 530
  • 博客积分: 13360
  • 博客等级: 上将
  • 技术积分: 5473
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-13 13:32
文章分类

全部博文(530)

文章存档

2017年(1)

2015年(2)

2013年(24)

2012年(20)

2011年(97)

2010年(240)

2009年(117)

2008年(12)

2007年(8)

2006年(9)

分类:

2010-05-06 21:38:51

1.本例目的
    使用配置文件的代码演示

2.本例代码结构
    参见 parsley学习指南例1-简单入门

3.详细说明
1.通过MXML进行配置
BeansMXML.mxml

      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/mx"
      xmlns:services="com.test.service.*">
 
   
        
    


 
优点:代码简洁
缺点:无法使用特定的功能,比如延迟实例化
     不支持构造函数注入
     大的项目中必须引入过多的标签,使配置文件混乱

3.通过parsley标签进行配置--推荐使用
BeansConfig.mxml

     xmlns:s="library://ns.adobe.com/flex/spark"
     xmlns:mx="library://ns.adobe.com/flex/mx"
     xmlns:spicefactory="">
 
     import com.test.service.*;
  ]]>
 

 
   
 

 
 


  声明新的命名空间xmlns:spicefactory="">
  在fx:script中引入想要托管的类在
  利用spicefactory标签声明托管对象,

优点:
    1.允许使用构造器注入
    2.允许使用自定义标签

object常见属性说明
         lazy="true|false" 如果为true,你第一次使用该对象之前它不会被初始化和配置
         singleton="true|false" 每次从容器取这个对象或者将这个对象注入其它对象时,容器都会创建一个新的实例或仅有一个实例.
         type="{类名}"  对象对应的类名

3.通过XML行配置
config.xml
    xmlns=""
    xmlns:xsi=""
    xsi:schemaLocation="
        /schema/2.0/parsley-core.xsd">

   
       
   

   


在Test.mxml代码修改如下代码:
    preinitialize="init()"

    import org.spicefactory.parsley.xml.XmlContextBuilder;

    public function init():void{
       XmlContextBuilder.build("config.xml");
    }

注:此处本人调试未通过

优点:
    XML 中配置的某些类如果没有被使用的话,它不会被编译到你的 SWC 或者 SWF 文件
    如果你想将这些类作为库使用, 将它们编译到一个 SWC (使用 compc 你可以将整个源代码文件夹包含到 SWC 文件) 然后使用mxmlc编译器中的-include-libraries选项将整个 SWC 包含到你的 SWF 文件.

4.通过代码配置
package com.bookstore.config {
  class BookStoreConfig {

    public const action:LoginAction = new LoginAction();
   
    [ObjectDefinition(singleton="false")]
    public function get service () : LoginServiceImpl {
        var service:LoginServiceImpl = new LoginServiceImpl();
        service.timeout = 3000;
        return service;   
    }

  }
}
  加载代码:
         ActionScriptContextBuilder.build(BookStoreConfig);

注:代码未调试








阅读(1884) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~