Company Manager

该DEMO与InSync是类似的,提供公司信息的CRUD操作。但CompanyManager使用注释来进行定义。也展示了对象关联(CompanyDAO类与IndustryDAO类有关联)的处理。

一、运行DEMO:
1、运行程序:http://localhost:8400/spring-flex-testdrive/companymgr/index.html;
2、在"Search"文本框输入几个字符,单击“Search”按钮,从数据库接收符合查找条件公司的信息。

3、单击“new Company”按钮,添加新的公司,填写信息后,保存。

二、理解代码:

1、companymgr.mxml:
有两个RemoteObject实例,一个连到companyService,一个连到industryService。
在程序初始化时,获取所有行业列表:roIndustry.findAll。返回的列表存在industries数组集当中,用于CompanyForm的industries属性。

2、CompanyForm.mxml:
该文件与InSync中的ContractForm差不多,但增加了BindableComboBox控件的绑定。BindableComboBox继承自ComboBox,它重写了设置dataProvider属性的方法,增加了对数据提供者COLLECTION_CHANGE的监听。

override public function set dataProvider(dataProvider:IList):void
        {
            super.dataProvider = dataProvider;
            dataProvider.addEventListener(CollectionEvent.COLLECTION_CHANGE,
                function(event:Event):void
                {
                    selectIndex();
                });
            selectIndex();
        }

private function selectIndex():void
        {
            if (!_value || !dataProvider)
            {
                return;
            }
            for (var i:int = 0; i < dataProvider.length; i++)
            {
                if (_value == dataProvider[i][valueField])
                {
                    selectedIndex = i;
                    return;
                }
            }
        }

3、CompanyDAO和IndustryDAO主要使用annotations 来定义配置。

·org/springframework/flex/spring/samples/company/CompanyDAO.java
类定义前使用注释:
@Service("industryService") @Service注释表示定义一个bean
@RemotingDestination(channels = { "my-amf" }) 代表作为flex远程对象注解,等同于<flex:remoting-destination ref=“industryService” />

构造函数前使用注释:
@Autowired  Spring的注解,允许自动注入。“Spring 2.5 引入了 @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。”
CompanyDAO构造函数除了datasource参数,还有一IIndustryDAO参数,用于bean的构造器注入。 @Autowired 将分别寻找和它们类型匹配的Bean,将它们作为CompanyDAO(DataSource dataSource, IIndustryDAO industryDAO)的入参来创建CompanyDAO Bean。
@RemotingInclude 指出远程可见的方法

@RemotingExclude指出远程不可见的方法

4、IndustryDAO.java

这个类类似于CompanyDAO,使用注释来进行配置,IndustryDAO作为CompanyDAO构造函数的参数注入到CompanyDAO中,形成关联。

三、小结:
CompanyDAO和IndustryDAO这两个bean并没有在app-config.xml中定义,也没有在flex-servlet.xml中暴露。它们在类定义中使用标注(@Service,@RemotingDestination,@Autowired,@RemotingInclude和@RemotingExclude)来配置。这个DEMO还展示对象关联(Company类有一个属性关联Industry类型)的用法。

来自:http://blog.sina.com.cn/s/blog_67532f7c0100ouhz.html

案例学习BlazeDS+Spring之九Company Manager相关推荐

  1. 案例学习BlazeDS+Spring之一(

    BlazeDS4的一个亮点就是与Spring的集成,这大大简化了与FLASH与JEE的集成开发.通过理解BlazeDS4附带的那些精湛的小DEMO,可以很快速的掌握这门技术.虽然案例学习这种方式不太利 ...

  2. 案例学习BlazeDS+Spring之二Spring BlazeDS Integration 101

    Spring BlazeDS Integration 101 这展示BlazeDS+Spring最基本的DEMO. 一.运行DEMO: 1.运行应用程序,URL:http://localhost:84 ...

  3. 案例学习BlazeDS+Spring之十一:Simple Data Push

    Simple Data Push 这个简单的数据推送服务demo演示了如何使用消息服务,将数据从服务端推送到客户端.在服务端,一个JAVA组件发布一个模拟真实的值给订阅了此消息目标的FLEX客户端.这 ...

  4. 案例学习BlazeDS+Spring之三InSync01查找联系人

    InSync01:查找联系人 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insync01/index.html: 2.单 ...

  5. 案例学习BlazeDS+Spring之五InSync03强类型

    InSync03:强类型 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insync03/index.html: 2.单击S ...

  6. 案例学习BlazeDS+Spring之十:Chat(

    Chat: 该DEMO展示的是BlazeDS的消息服务,是一个使用发布/订阅者模式的简单聊天室. 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex- ...

  7. 案例学习BlazeDS+Spring之十二:Traderdesktop

    Traderdesktop: 这是一个更为复杂的数据推送demo,它演示了如何使用主题来有选择的订阅指定消息.在这种情况下,用户可以仅订阅指定的股票更新消息.在服务端,Java组件发送模拟的市场数据到 ...

  8. 案例学习BlazeDS+Spring之四InSync02使用RemoteObject事件

    InSync02:使用RemoteObject事件 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insync02/inde ...

  9. 案例学习BlazeDS+Spring之六InSync04打开多个联系人

    InSync04:打开多个联系人 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insync04/index.html: 2 ...

最新文章

  1. 4. Nest :module (Model)
  2. mysql某元素为空_PHP - MySQL,认为$ result在某些时刻是空的,当时应该有元素
  3. “晶振”拍了拍你,“你知道我是如何工作的吗?”
  4. 学习Apache Camel –实时索引推文
  5. BeautifulSoup入门案例
  6. 2020武大计算机学院研究生补录通知,2020年武汉大学硕士研究生复试录取工作细则汇总...
  7. VC++黑客编程收集的源码集合,只有你想不到的
  8. mysql触发器trigger实例详解
  9. 美的集团计算机综合面试群面,美的集团面试
  10. 2022年最全快手市场研报合集(共61份)
  11. java 页眉页脚_Java 修改Word页眉页脚
  12. cmd运行记事本java文件
  13. dumprep -0 -k
  14. Java 版植物大战僵尸思路和源码分享!
  15. Windows故障恢复控制台教程
  16. 安卓模拟器按键_超好用的网易MuMu安卓模拟器(兼容MacOS10.15系统)
  17. 数值分析实验 实验3-1 牛顿下山法 python3实现
  18. 利用搜狗抓取微信公众号文章
  19. 用Python操作MySQL数据库-详细指南
  20. 关于亚信安全防毒墙网络版客户端的退出与卸载(2020年亲测有效,经验分享)

热门文章

  1. sphinx 入门_Sphinx搜索引擎入门
  2. 学习SQL:SQL Server日期和时间函数
  3. sql用于字符串的聚合函数_SQL字符串函数用于数据整理(争用)
  4. SQL Server中的功能和存储过程比较
  5. odbc驱动程序配置失败_如何使用ODBC驱动程序配置链接服务器
  6. SQL Server中的查询优化技术:基础
  7. elastic 索引库_使用Elastic Job Agents自动执行Azure SQL数据库索引维护
  8. Silverlight/WPF中DependencyProperty使用陷阱一枚
  9. redux使用教程详细介绍
  10. Python的subprocess模块(一)