Flex4+BlazeDS+Spring+Hibernate 整合

来源:互联网 发布:mac vmware 10 序列号 编辑:程序博客网 时间:2024/05/01 23:00

Flex4+BlazeDS+Spring+Hibernate 整合

1.在FlexBuilder+MyEclipse整合环境中创建一个Web项目和一个Flex项目

  web项目的名称为t1,flex项目用默认模板

2.在web项目中添加blazeDs,将blazeDs.war解压后将[META-INF]和[WEB-INF]复制到t1->webroot目录
3.修改flex项目的相关属性如下图:


4.web项目中添加Spring支持和Hibernate支持,并配置相关配置,此处省略
Spring装配方式使用扫包自动装配
相关目录:
com.haha.bean --hibernate实体类和hbm配置文件
com.haha.dao  --dao层代码
com.haha.biz  --业务层代码,也是flex调用代码

5.整合blazeDs和Spring
5.1 先从http://download.macromedia.com/pub/developer/flex_spring.zip下载例子文件,将
flex.samples.factories.SpringFactory复制到web项目的src目录中
5.2 在/WEB-INF/flex/services-config.xml文件中注册spring factory 
<factories> 
<factory id="spring" class="flex.samples.factories.SpringFactory"/> 
</factories> 
6.示例
6.1添加UserRoles实体

[java] view plaincopy
  1. package com.haha.dao;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;  
  6. import org.springframework.stereotype.Repository;  
  7.   
  8. import com.haha.bean.Userroles;  
  9. @Repository  
  10. public class UserRoleDao extends HibernateDaoSupport {  
  11.     public List<Userroles> findAll(){  
  12.         return this.getHibernateTemplate().find("from Userroles");  
  13.     }  
  14. }  

6.2编写UserRoleDao类

[java] view plaincopy
  1. package com.haha.biz;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.springframework.stereotype.Service;  
  6.   
  7. import com.haha.bean.Userroles;  
  8. import com.haha.dao.UserRoleDao;  
  9.   
  10. @Service  
  11. public class UserRoleBiz {  
  12.     private UserRoleDao userRoleDao;  
  13.   
  14.     public void setUserRoleDao(UserRoleDao userRoleDao) {  
  15.         this.userRoleDao = userRoleDao;  
  16.     }  
  17.     public List<Userroles> findAll(){       
  18.         return userRoleDao.findAll();  
  19.     }  
  20. }  

6.3编写FLex项目代码如下: 

[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   
  3.                xmlns:s="library://ns.adobe.com/flex/spark"  
  4.                applicationComplete="application1_applicationCompleteHandler(event)"  
  5.                xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">  
  6.     <fx:Script>  
  7.         <![CDATA[             
  8.             import mx.events.*; 
  9.             import mx.rpc.events.*; 
  10.             import mx.rpc.remoting.*; 
  11.  
  12.             protected function application1_applicationCompleteHandler(event:FlexEvent):void 
  13.             { 
  14.                 var ro:RemoteObject=new RemoteObject("userRoleBiz"); 
  15.                 var opt:Operation=ro.getOperation("findAll") as Operation; 
  16.                 opt.addEventListener(ResultEvent.RESULT,function(e:ResultEvent):void{ 
  17.                     dg1.dataProvider=e.result; 
  18.                 });              
  19.                 opt.send(); 
  20.             } 
  21.  
  22.         ]]>  
  23.     </fx:Script>  
  24.     <fx:Declarations>  
  25.         <!-- Place non-visual elements (e.g., services, value objects) here -->  
  26.     </fx:Declarations>  
  27.     <mx:DataGrid x="10" y="114" width="458" height="219" id="dg1">          
  28.     </mx:DataGrid>  
  29. </s:Application>  

效果如下:

0 0
原创粉丝点击