spring+hibernate+flex集成成功

来源:互联网 发布:mmd口型数据 编辑:程序博客网 时间:2024/04/25 01:38

今天终于集成成功啦。。。

回想起来原来是这么简单。。集成花了我半天功夫。。。

这篇文章适合于对spring+hibernate+struts熟悉的人

总结了一下主要有下面这么几点,如果有问题可以联系本人QQ:416669276,本人很乐意解决

 

 

 

 

 

 

 

1.      新建一个Flex项目

 

图片

 

图片

 

 

图片

 

2.添加web支持

 

图片

图片

 

 

 

先添加spring支持==》然后再添加hibernate支持

1.web.xml添加spring支持

<!-- spring congfig xml -->

   <context-param>

      <param-name>contextConfigLocation</param-name>

          <param-value>/WEB-INF/applicationContext.xml</param-value>

   </context-param>

   <servlet>

      <servlet-name>springContextServlet</servlet-name>

      <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>

      <load-on-startup>1</load-on-startup>

   </servlet>

   

   <servlet>

      <servlet-name>Log4jConfigServlet</servlet-name>

      <servlet-class>org.springframework.web.util.Log4jConfigServlet</servlet-class>

   </servlet>

   

   <servlet>

      <servlet-name>web</servlet-name>

      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

</servlet>

 

2.添加一个SpringFactory.java

 

import org.springframework.beans.BeansException;

import org.springframework.context.ApplicationContext;

import org.springframework.web.context.support.WebApplicationContextUtils;

 

import flex.messaging.FactoryInstance;

import flex.messaging.FlexContext;

import flex.messaging.FlexFactory;

import flex.messaging.config.ConfigMap;

import flex.messaging.services.ServiceException;

 

publicclass SpringFactoryimplements FlexFactory {

 

   privatestaticfinal StringSOURCE="source";

   

   

   

   public FactoryInstance createFactoryInstance(String id, ConfigMap propertities) {

      SpringFactoryInstance instance=new SpringFactoryInstance(this,id,propertities);

      instance.setSource(propertities.getPropertyAsString(SOURCE, instance.getId()));

      return instance;

   }

 

   public Object lookup(FactoryInstance arg0) {

      SpringFactoryInstance fi=(SpringFactoryInstance)arg0;

      return fi;

   }

 

   publicvoid initialize(String arg0, ConfigMap arg1) {

      //TODO Auto-generated method stub

 

   }

      

   staticclass SpringFactoryInstanceextends FactoryInstance{

 

      public SpringFactoryInstance(FlexFactory factory, String id,

             ConfigMap properties) {

          super(factory, id, properties);

      }

      public String toString(){

          return"SpringFactory instance for id="+getId()+" source="+getSource()+" scope="+ getScope();

      }

   

      public Object lookup() {

          ApplicationContext appContext=WebApplicationContextUtils.getWebApplicationContext(FlexContext.getServletConfig().getServletContext());

          String beanName=getSource();

          try {

             return appContext.getBean(beanName);

          } catch (BeansException be) {

             ServiceException e=new ServiceException();

             String msg=""+beanName+"";     

             e.setMessage(msg);

             e.setRootCause(be);

             e.setDetails(msg);

             e.setCode("Server Process");

             throw e;

          }

      }

   }

}

3.services-config.xml配置

<factories>

      <factoryid="spring"class="wisdeem.tools.SpringFactory"/>

   </factories>

4.remoting-config.xml支持

<destinationid="user">

       <properties>

           <source>UserBIZ</source>

            <factory>spring</factory>

       </properties>

       </destination>

5.applicationContext.xml配置bean

 

<beanid="UserBIZ"class=" UserBIZ"abstract="false"lazy-init="default"autowire="default"dependency-check="default">

      <propertyname="dao"ref="UsersDAO"/>

   </bean>

 

 

 

原创粉丝点击