AS3----Spring 框架学习笔记(一)----xml标签解析

xml配置文件的标签:

 

下表是在配置文件中常用的一些标签以及相关的说明和用法

术语 说明 代码示例
${变量名} 你可以把一些变量分离出来写在单独的文本文件中,然后在配置中引用这些变量,这样最大的好处是你可以把配置信息比如Server端的连接地址放在单独的文件中,方便修改和维护

新建global.prop文本文件,写入:

variable1=10

在配置中引用:

${variable1}

object 在XML配置中,每一个对象用Object来表示,然后分别用id和class代表唯一标示和类的名称 <object id="obj" class="mx.ctrol.Button" />
property 你可以使用property为对象的属性复制,这也是IoC的精髓,即从这里把依赖注入到对象。name就是属性的名称,而value就是你要赋予的具体的值

<object ... >

<property name="name" value="Fiona Apple"/>

</object>

ref 除了可以直接赋值,你也可以通过使用ref在属性中引用别的对象

<object id="a" .../>

<object ... >

<property name="name" ref="a"/>

</object>

constructor-arg 如果你的对象实例化的时候需要从构造函数中传入参数,那么可以使用这个属性,将所需的参数传递进去

<object ... >

<constructor-arg>
<ref>anotherExampleObject</ref>
</constructor-arg>
<constructor-arg type="int" value="1"/>

</object>

factory-method 工厂方法,含义是不使用new对这个Object进行实例化,而是调用这个类的静态方法,可用于单例模式的实现 <object id="a" class="A" factory-method="getInstance" />
dictionary 相当于AS3中的Dictionary,你可以在配置中声明一个Dictionary对象 <dictionary>
<entry>
<key>development</key>
<value>dx</value>
</entry>
</dictionary>
array 同样,你可以在配置中声明一个数组对象 <array>
<value>ssnce</value>
<value><ref object="s"/></value>
</array>
array-collection 对应Flex中的ArrayCollection,当然只有Flex的应用才可以使用这个配置方式 <array-collection>
<value>ssnce</value>
<value><ref object="s"/></value>
</array-collection>
depends-on 定义依赖关系,含义就是先初始化它的依赖,然后初始化自己 depends-on="manager,accountDao"
lazy-init 如果值为true,则不马上初始化,而是在第一次调用的时候才初始化 <object ... lazy-init="true"/>
autowire

自动装配,Spring ActionScript支持自动装配,含义就是你只要声明某个对象为自动装配,它就会按照规则自动去寻找这个对象的依赖并注入给它,而不需要手工操作。

默认是no,可以选择byName,byType,constructor,autodetect来自动装配对象的依赖。使用自动装配时,应当权衡利弊,合理的与ref的方法相结合,尽量在降低工作量的同时,保证应用的可维护度

<object ... autowiret="byName"/>
singleton 一个布尔量,对一个对象而言,这个属性的设置为True则只创建一个实例,false则每次调用都创建新的实例 <object ... singleton="true"/>
init-method 初始化方法,含义是创建实例后,调用实例的这个方法进行初始化 init-method="init"
method-invocation 调用对象的方法 <method-invocation name="init"/>
abstract 定义继承关系,你可以将一个对象的abstract属性设置为true,然后在另一个对象中定义parent=这个对象,含义就是继承原对象的所有的属性 <object id="inheritedTestObject" abstract="true">
<property name="name" value="parent"/>
<property name="age" value="1"/>
</object>
<object id="inheritsWithDifferentClass"
class="org.springactionscript.objects.DerivedTestObject"
parent="inheritedTestObject" init-method="initialize">
<property name="name" value="override"/>
<!-- the age property value of 1 will be inherited from parent -->
</object>
template 你可以将重复性的设置工作定义为模板,然后其它对象就可以使用这个模板 <template id="remoteObject">
<object class="mx.rpc.remoting.mxml.RemoteObject">
<property name="makeObjectsBindable" value="${makeBindable}"/>
</object>
</template>
<object id="concreteService" template="remoteObject">
<param name="makeBindable" value="false"/>
</object>
application Flex专属属性,你可以通过配置下面这个对象:<object class="org.springextensions .actionscript.ioc. factory. config.flex. ApplicationPropertiesResolver"/>,然后就可以在其他的配置中使用application这个变量,使用方式是:${application.url}
  • application.frameRate
  • application.historyManagementEnabled
  • application.pageTitle
  • application.resetHistory
  • application.scriptRecursionLimit
  • application.scriptTimeLimit
  • application.url
  • application.url.protocol
  • application.url.host
  • application.url.port
  • application.usePreloader
  • application.viewSourceURL

posted @ 2010-05-24 16:15  木瓜网络  阅读(1240)  评论(0编辑  收藏  举报