您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页Flex和Spring

Flex和Spring

来源:爱go旅游网
内容如下

   

关于Adobe Flex 关于Spring

为什么使用Flex和Spring Flex和Spring的整合

关于Flex

Adobe Flex是一套创建富客户端应用(RIAs)的框架.Flex生成的swf文件可以直接运行在Flash Player之中。相比较基于时间轴的Flash开发,Flex框架更适合那些用传统方式开发应用程序的开发人员。Flex应用可以使用Flex builder来开发。这套IDE是基于Eclipse平台开发的。Action Script3语言是用来访问数据和创建用户接口组件的。Flex框架也用到了一种XML语言叫做MXML,它是用来简化Flex开发和布局的。

关于Spring

Spring是目前最受欢迎的创建企业级应用的Java框架。不像传统的J2EE开发,Spring提供了轻量级的容器。使用Spring会使应用的测试和开发更为简单。虽然Spring依赖注入的功能最出名,但是它也提供了其他服务端企业程序所需要的功能。如安全和事务处理。

为什么使用Flex和Spring

Flex技术本身和Java就有很强的关联性,它提供了一个基于Eclipse的IDE和BlazeDS.BlazeDS是个基于服务端的Java远程调用和Web消息的一个开源的技术。有许多应用都是以Java为后端处理的。Flex用于前端。由于Java和Flex一起频繁的使用。人们很容易就想到Flex和Spring的整合。有许多企业和组织已经着手开始使用Flex作为用户接口了。在2008年末,Spring社区已经着手Spring BlazeDS整合的项目。为Java和Spring添加更好的Flex支持。

默认的情况下BlazeDS创建了一个服务端Java对象的实例,用它们来完成远程对象的请求。但是这种方法并不适用于Spring.因为整个框架使用的服务的对象都是用Spring容器所创建的。Spring和BlazeDS的整合,Flex就可以使用Spring中的对象了。

整合Flex和Spring

为了使用BlazeDS,服务端的Java应用应打包为WAR文件。这部分的代码实例是使用Eclipse来创建和编辑的。步骤如下

  

设置服务端的BlazeDS Java工程以及Spring框架。 在BlazeDS中配置Spring的bean

写一个Flex应用去使用Spring/BlazeDS的服务。

所需要的开发环境如下

      

Eclipse3.4(J2EE版本):http://www.eclipse.org/downloads/

Flex Builder3:http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3email&sdid=EOZPI Tomcat 6:http://tomcat.apache.org/

BlazeDS:http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/ Spring框架:http://www.springsource.org/download

Spring BlazeDS整合:http://www.springsource.org/spring-flex ANTLR3.0:http://www.antlr.org/download.html

首先设置服务端的JAVA工程,用blazeds.war(在blazeds的压缩包中)创建一个WEB工程。步骤如下

            

Choose File>import

选择WAR选项。指定blazedsWAR文件的位置。输入工程名test-server 点击完成

现在就可以创建一个服务器来运行这个WEB应用。

File>New>Other 选择Server>Server 点击Next

选择Apache>Tomcat6 Server 点击Next

指定Tomcat的安装位置以及JRE(5以上版本) 点击Next

在Availble Projects list中选择test-server 点击Add添加到Configured Project list 点击Finish

接下来就可以创建Java类了。这个类在Java和Flex之间传输 Java代码

1. public class MyEntity { 2. private String frstName; 3. private String lastName; 4. private String emailAddress; 5. 6. public String getFirstName() { 7. return frstName; 8. } 9. public void setFirstName(String frstName) { 10. this.frstName = frstName; 11. } 12. public String getLastName() { 13. return lastName; 14. } 15. public void setLastName(String lastName) { 16. this.lastName = lastName; 17. } 18. public String getEmailAddress() { 19. return emailAddress; 20. } 21. public void setEmailAddress(String emailAddress) { 22. this.emailAddress = emailAddress; 23. } 24. } Java服务接口 Java代码

1. import java.util.List; 2. public interface MyService { 3. public List getMyEntities(); 4. } Java服务的实现 Java代码

1. import java.util.ArrayList; 2. import java.util.List; 3. public class MyServiceImpl implements MyService { 4. public List getMyEntities() { 5. List list = new ArrayList(); 6. MyEntity entity = new MyEntity(); 7. entity.setFirstName(\"Hello\"); 8. entity.setLastName(\"World\"); 9. entity.setEmailAddress(\"hello@world.com\"); 10. list.add(entity); 11. MyEntity entity2 = new MyEntity(); 12. entity2.setFirstName(\"Hello\"); 13. entity2.setLastName(\"Space\"); 14. entity2.setEmailAddress(\"hello@space.com\"); 15. list.add(entity2); 16. MyEntity entity3 = new MyEntity(); 17. entity3.setFirstName(\"Hello\"); 18. entity3.setLastName(\"Neighbor\"); 19. entity3.setEmailAddress(\"hello@neighbor.com\"); 20. list.add(entity3); 21. return list; 22. } 23. }

这三个类对于例子足够了。在实战中,这个服务类可能要连接到数据库。为了方便我们学习,这个例子中就返回的是个list的硬编码了。 基本的java工程算是完工了。。

接下来我们要做Spring的配置了。

 

把Spring的库以及Spring BlazeDS整合的库,还有ANTLR库文件放到项目/WEB-INF/lib下。 创建一个Spring配置文件。鼠标右键点击WebContent/WEB-INF以及选择New>File,文件名输入application-config.xml.点击完成。配置文件内容如下。

Xml代码

1. 2. 7. 8. 9. 懂Spring的人看这配置最熟悉不过了。。

通过这一步,已经有了一个BlazeDS默认配置的Java web工程。下面我们就更改BlazeDS默认配置,去使用新创建的Spring中的bean.

为了配置Spring BlazeDS的整合,更新web.xml。 Xml代码

1. 2. 6. test-server 7. 8. Spring MVC Dispatcher Servlet 9. org.springframework.web.servlet.DispatcherServlet 10. 11. contextConfigLocation 12. /WEB-INF/application-config.xml 13. 14. 1 15. 16. 17. 18. Spring MVC Dispatcher Servlet 19. /spring/* 20. 21. 创建的Servlet可以处理这个请求,http://localhost:8080/test-server/spring 这是访问BlazeDS的基本的URL。当然这也是Spring标准的DispatcherServlet.

现在已经把Spring整合到Java web工程中了。要整合BlazeDS,就要修改下Spring的配置文件。 application-config.xml文件如下 Xml代码

1. 2. 10. 11. 12. 13. 14. 15. 16. 通过配置,使BlazeDS接口开放。首先要添加Flex的namespace。添加之后,使用message-broker标签创建MessageBrokerFactoryBean。看下配置只是个简单标签。配置是默认的。要确保WEB-INF/flex 下有service-config.xml这个配置文件。remoting-destination标签使Spring bean变为远程目标。 接下来修改默认的BlazeDS service-config.xml文件。代码如下 Xml代码

1. 2. 3. 4. 5. 6. 7. 8. 9. 11. 14. 15. 17. 20. 21. true 22. 4 23. 24. 25. 26. 看一下 endpoint标签的的url.唯一可以修改的就是content.root之后的spring.所有远程目标配置都应该配置在application-config.xml文件中。

现在我们完成了Spring/BlazeDS Java应用。可以启动Tomcat来查看配置是否出错。

接下来我们就可以新建一个Flex来远程调用Spring服务。步骤如下

        

File>New>Other 选择Flex Project 填写工程名称test-flex 用默认的地址

选择Web application(运行在Flash player) Application Type 选择None 点击Next

指定Output的文件夹。如 C:\\workspace\est-server\\WebContent\\ 点击Finish

工程创建完毕,我们会看到一个main.mxml的文件。修改代码如下 Xml代码

1. 2. 5. 6. 7. 9. 10. 以上代码的AMFChannel访问了Spring的服务。

要注意的是RemoteObject标签中的destination的destination要和spring的application-config.xml中remote-service标签的ref所设置的值保持一致。通过代码可以看出Flex并没有包含关于Spring的东西。编写Flex的

开发人员不必知道关于Spring的知识。

要更新test-server的程序。可以Refresh这个工程。

下面测试一下。启动Tomcat.http://localhost:8080/test-server/main.html

为了在Flex builder中调试运行。可以做如下设置

   

右键点击test-flex工程。

选择Properties,之后是Flex build path

Output Folder URL 填写 http://localhost:8080/test-server/ 点击OK

之后直接运行就可以了。整合完成。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务