案例学习BlazeDS+Spring之九Company Manager
2012-11-26 10:56
330 查看
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类型)的用法。
该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类型)的用法。
相关文章推荐
- 案例学习BlazeDS+Spring之十二:Traderdesktop
- 案例学习BlazeDS+Spring之一(
- 案例学习BlazeDS+Spring之三InSync01查找联系人
- 案例学习BlazeDS+Spring之十一:Simple Data Push
- 案例学习BlazeDS+Spring之四InSync02使用RemoteObject事件
- 案例学习BlazeDS+Spring之十:Chat(
- 案例学习BlazeDS+Spring之六InSync04打开多个联系人
- 案例学习BlazeDS+Spring之九Company Manager
- 案例学习BlazeDS+Spring之一
- 案例学习BlazeDS+Spring之十:Chat
- 案例学习BlazeDS+Spring之六InSync04打开多个联系人
- 案例学习BlazeDS+Spring之四InSync02使用RemoteObject事件
- 案例学习BlazeDS+Spring之十一:Simple Data Push
- 案例学习BlazeDS+Spring之十二:Traderdesktop
- 案例学习BlazeDS+Spring之三InSync01查找联系人
- 案例学习BlazeDS+Spring之十四:Collaboration
- Spring 学习 (二)入门案例
- Spring2.0 AOP学习案例笔记
- Spring学习(一)简介及IOC的小案例
- SpringBoot的Thymeleaf支持,结合SpringMVC做的案例(学习SpringBoot实战)