「Java开发指南」如何用MyEclipse搭建Adobe和Spring Flex?(二)
本教程将引导您完成Adobe Flex和Spring-Flex软件组件的生成,可以生成一个随时可运行的Spring Flex应用程序,该应用程序为域模型实现了CRUD应用程序模式。在本教程中,您将学习如何:
- 从数据库表搭建到现有项目
- 设置关系获取类型
- 更新Flex用户界面
自定义Spring代码生成需要MyEclipse Spring或Bling授权。
MyEclipse v2024.1离线版下载
在上文中(点击这里回顾>>),我们为大家介绍了如何创建一个web项目、如何从数据库表中搭建等,本文将继续介绍如何设置关系获取类型、部署应用程序等。
设置关系获取类型
当前的BlazeDS实现对延迟加载的支持有限,因此在处理关系时需要注意一些事项。
一对一或多对一关系
要填充Employee >Office(多对一)子表单,需要在EmployeesAppgeneratedorg.employeesapp.domainEmployee.java文件中将FetchType注释更新为EAGER。打开该文件,找到@ManyToOne注释,修改FetchType枚举如下:
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumns(@JoinColumn(name = "OFFICECODE", referencedColumnName = "OFFICECODE"))
@XmlTransient
Office office;
一对多或多对多关系
有趣的是,不需要对这些类型的关系进行任何更改就可以获得要填充的关系结果。但是需要注意的是,to-Many类型关系的所有关系数据都是在应用程序首次加载时自动预加载的。
部署应用程序
1. 右键单击EmployeesApp,并选择Run As>MyEclipse Server Application,选择MyEclipse Tomcat服务器。
部署应用程序
MyEclipse Tomcat启动并打开应用程序,第一个页面是一个仪表板,用于访问所有搭建的web客户端。由于本教程仅为Flex搭建了一个父对象,因此Adobe Flex下的唯一选项是View Employees。
2. 单击View Employees查看生成的运行中的Spring Flex应用程序。
仪表板
Spring Flex应用程序可用于在Employees和Offices上执行创建、读取、更新和删除功能。
Employee应用程序
生成什么?
为了方便您使用ME4S生成代码,本教程只涉及从单个数据库表构建代码。因此,只生成用于管理单个实体的软件组件,而不存在实体关系。当您开始为多个实体(可能带有实体关系)生成时,生成的软件组件要比使用本教程生成的软件组件多得多。尽管还有很多代码,但它们被分组和组织成如下图所示。
生成搭建
最终搭建应用程序包括:
- 与领域模型(EMPLOYEE和OFFICE)相对应的JPA实体
- 用于管理JPA实体的DAOs
- 基于域模型字段的DAO中的查找方法(JPA命名查询)
- 具有用于管理域模型的完全实现的CRUD操作服务
- Spring Flex应用所需的所有Spring注解和配置文件
- 每个服务和控制器的JUnits
- SpringSource认证代码和配置文件
- Spring Framework 3.0 (Spring 2.5可选)
- 生成Flex 4.0 mxml (Flex 3.5可选)
- Spring BlazeDS集成1.0.3
- 现成的Adobe Flex 4.0开源SDK和ant脚本使用mxmlc编译器生成swf文件到webroot
- 一个mxml默认应用程序,具有用于CRUD操作和关系的单独mxml表单和网格
- flex_src/assets文件夹,里面有CSS和图片,使用嵌入语句和常见的Flex样式,如backgroundGradientAlphas, up-skin, over-skin, down-skin
- 导航到上下文根目录
- 使用带有dataProvider的DataGrid来呈现来自服务器结果
- 实现TabNavigator来显示CRUD操作和关系
- 通过创建操作实现的独立mxml应用程序中的RemoteObject
- 一个使用StringValidator, NumberValidator, Validator的Alert表单验证,validateAll方法和ValidationResultEvent遵循验证的一般准则
- 在FormItem上的必填项上加上带有必填项属性的星号
- 使用Accordion控件显示子关系
- 在删除对象或报告错误时实现PopUpManager
- 在一对多或多对多关系中用于子对象的可编辑数据网格控件
- DateFormatter控件用于格式化表单中的日期和时间字段以及可编辑数据网格中的日期和时间字段
- 使用溶解替代褪色文本
- 带有关系的可绑定RemoteClass域对象
- 遵循spring-flex-testdrive约定的代码,包括用于创建、更新和删除对象的事件驱动操作脚本体系结构
Spring Flex运行时应用
更新Flex用户界面
如果需要更新Flex UI,以下步骤提供了一个通用的指导方针:
- 修复*.mxml 或 *.as文件
- 右键单击/build/Employeebuild.xml文件,并选择Run As>Ant build。
- 检查控制台中是否有成功的构建或任何错误。
注意:如果对WEB-INF中的flex配置文件(例如services-config.xml)进行了任何更改,则需要运行Flex Ant脚本,这些配置文件被编译成Flash文件。