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: 定义因特网服务的类型,常见的为 ...
随机推荐
- webform 页面传值的方法总结
ASP.NET页面之间传递值的几种方式 页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有Quer ...
- php接二进制文件
PHP默认只识别application/x-www.form-urlencoded标准的数据类型. 因此,对型如text/xml 或者 soap 或者 application/octet-stream ...
- Func系列1:安装配置
简介 Func是由红帽子公司以Fedora平台构建的统一网络控制器,是为解决集群管理.监控问题而设计开发的系统管理框架.它是一个能有效简化多服务多服务器系统管理工作的工具,它易于学习.使用和扩展,功能 ...
- ios的runtime为什么可以动态添加方法
一句话概括 每个instance都有一个isa,这个isa,里面含有所有的方法列表,ios提供库函数增加,修改,即实现了动态添加方法
- 像装软件一样装系统 Win8下怎么装Win7
像装软件一样装系统 Win8下怎么装Win7 首先,你需要一个Windows7的ISO镜像文件,非ghost版本 一般选中ISO文件,点反键在弹出菜单中以“装载”或“window资源管理器”方式打开 ...
- Learning Core Data 1
What is Core Data? If you want to build anything beyond the most simplistic apps for iOS, you’ll nee ...
- [Bug-IOS] - linker command failed with exit code 1 (use -v to see invocation)
Ld /Users/Rubert/Library/Developer/Xcode/DerivedData/OC_Language-emftyzftyvhdpuaxipddjmpnpvox/Build/ ...
- [CSS]去除inline-block元素间距的几种方法
当我们使用inline-block 时,会出现空白间距问题. 但这些间距对我们的布局,或兼容性产生影响,我们需要去除它,该怎么办?下面简单介绍几种方法: 1.去掉html元素之间的空格,直接写在一行. ...
- spark IDEA开发环境搭建及运行问题
下图是例子: 还用说么,引入相关jar包(等下再一一说明) 包括scala,spark-assembly-1.4.1-hadoop2.5.0-cdh5.2.1.jar(按照你的spark和hadoo ...
- Sublime 编译出来的是 dos格式,不是unix格式
在windows下编辑一般都这样的 :set ff=unix就好