Robotlegs2 学习笔记 -- SwiftSuspenders 2.x (2)
Swiftsuspenders2简介
Swiftsuspenders2是一个基于元数据(metadata)的IOC(控制反转,inversion of control)的AS3的解决方案。(对于元数据编程,请参《 Actionscript 3 自定义 matedata》 )
Swiftsuspenders2主要支持了很好的AS3 MVCS框架 ----Robotlegs2
为了能够在不支持自定义元数据(metadata)的Flash Professional IDE中使用Swiftsuspenders2, 可以通过使用一个简单的XML配置文件的形式来配置注入点(Injection Points)
特性
Swiftsuspenders支持以下特性,详细内容在后续文档中会一一介绍
- 基于元数据(metadata)标注的注入点(injection points)
- 针对Flash Professional(CS4版本不支持自定义元数据)而设计的基于XML标注的注入点
- 注入:
- 属性(如setter)
- 变量
- 方法(支持可选参数)
- 构造函数(支持可选参数)
- 注入名,从而可以不仅仅通过类型,而是可以允许跟多制定的注入绑定(参见”定义注入点”)
- 可选注入(2.x新特性)
- [PostConstruct]标签申明了注入结束后需要调用的方法
- [PreDestroy]标签定义了注入对象被销毁前调用的方法
- 映射
- 值
- 类(针对每一次注入都会创建新的实例)
- 单例(第一次注入创建,然后每次注入时都复用第一次创建的对象)
- 规则(允许在多个映射规则之间共享单例)
- 创建子注入器(injector),从而继承父注入器的映射关系,同时可以定义额外的映射关系或者重写父注入器的映射关系
- 通过Injector的hasMapping方法来查询已有的注入规则
- 通过使用Injector的getInstance方法直接应用注入规则
安装
最简单的使用Swiftsuspenders2的方法就是将提供的SWC库文件添加到你的项目中。如果你需要使用源代码,你必须在MXMLC设置中添加以下语句,如图所示:(注意是+= 而不是=)
|
-keep-as3-metadata+=Inject -keep-as3-metadata+=PostConstruct -keep-as3-metadata+=PreDestroy |
flashbuilder设置如下图:

flashdevelop设置如下图

Robotlegs2 学习笔记 -- SwiftSuspenders 2.x (2)的更多相关文章
- Robotlegs2 学习笔记 -- SwiftSuspenders 2.x (1)
Swiftsuspenders2 是一个基于元数据(metadata)的IOC(控制反转,inversion of control)的AS3的解决方案.反转控制又被称依赖注射(Dependency I ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
随机推荐
- bzoj2618: [Cqoi2006]凸多边形
Description 逆时针给出n个凸多边形的顶点坐标,求它们交的面积.例如n=2时,两个凸多边形如下图: 则相交部分的面积为5.233. Input 第一行有一个整数n,表示凸多边形的个数,以下依 ...
- windows7修改双系统启动项名称、先后顺序、等待时间
一.进入BCDEdit.exe 正常启动Windows 7 系统,点击“开始” -> “所有程序” -> “附件”,右击“命令提示符” -> “以管理员身份运行”(需要将操作当前用 ...
- Workflow_工作流发送Document和Form链接的实现(案例)
2014-06-01 Created By BaoXinjian
- Python 向上取整的算法
一.初衷: 有时候我们分页展示数据的时候,需要计算页数.一般都是向上取整,例如counts=205 pageCouts=20 ,pages= 11 页. 一般的除法只是取整数部分,达不到要求. 二.方 ...
- python 解析json
一.概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON.XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的 ...
- 转-android图片降低图片大小保持图片清晰的方法
http://i.cnblogs.com/EditPosts.aspx?opt=1 android里面对于图片的处理一直是个比较烦人的问题,烦人之处在于一个不小心,就有可能造成OOM. 最近碰到一个关 ...
- 用happen-before规则重新审视DCL(转)
编写Java多线程程序一直以来都是一件十分困难的事,多线程程序的bug很难测试,DCL(Double Check Lock)就是一个典型,因此对多线程安全的理论分析就显得十分重要,当然这决不是说对多线 ...
- Android学习笔记02
1.线性布局LinearLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q ...
- 拥抱高效、拥抱 Bugtags 之来自用户的声音(五)
Bugtags使用心得(创业公司场景篇) ——成都嘿嘿科技有限公司 作者:小花 一.产品定义 关于手机客户端产品(APP)的 bug 提交.监测及管理且具有团队协作性质的系统. 二.使用环境 公司:初 ...
- SVN安装及常见问题解决
一.SVN简介 SVN作为以一种崛起的版本管理工具,是CVS的接班人.对于概念性的介绍我这里就不多赘述,网上很多介绍. 工作流程如下图: 二.安装 SVN的重要性就不再赘述,这里以Versionsv1 ...