zoukankan      html  css  js  c++  java
  • AS3Spring 框架学习笔记(一)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

  • 相关阅读:
    Python 强制停止多线程运行
    自动化测试 Appium之Python运行环境搭建 Part2
    自动化测试 Appium之Python运行环境搭建 Part1
    Genymotion Android模拟器Genymotion的安装和使用
    Easyui datagrid combobox输入框下拉(取消)选值和编辑已选值处理
    性能测试 接口性能测试需要注意的点
    Python 基于Python及zookeeper实现简单分布式任务调度系统设计思路及核心代码实现
    lintcode:整数排序||
    lintcode:整数排序
    lintcode:玩具工厂
  • 原文地址:https://www.cnblogs.com/daidu/p/1742842.html
Copyright © 2011-2022 走看看