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);
注:代码未调试
阅读(1863) | 评论(0) | 转发(0) |