`
- 浏览:
466247 次
- 性别:
- 来自:
北京
-
Flex和spring集成时需要的SpringFactory
- package springFactory;
- import org.springframework.context.ApplicationContext;
- import org.springframework.web.context.support.WebApplicationContextUtils;
- import org.springframework.beans.BeansException;
- import org.springframework.beans.factory.NoSuchBeanDefinitionException;
-
- import flex.messaging.FactoryInstance;
- import flex.messaging.FlexFactory;
- import flex.messaging.config.ConfigMap;
- import flex.messaging.services.ServiceException;
-
-
- public class SpringFactory implements FlexFactory
- {
- private static final String SOURCE = "source";
-
-
- public void initialize(String id, ConfigMap configMap) {}
-
-
- public FactoryInstance createFactoryInstance(String id, ConfigMap properties)
- {
- SpringFactoryInstance instance = new SpringFactoryInstance(this, id, properties);
- instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId()));
- return instance;
- }
-
-
- public Object lookup(FactoryInstance inst)
- {
- SpringFactoryInstance factoryInstance = (SpringFactoryInstance) inst;
- return factoryInstance.lookup();
- }
-
-
- static class SpringFactoryInstance extends FactoryInstance
- {
- SpringFactoryInstance(SpringFactory 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(flex.messaging.FlexContext.getServletConfig().getServletContext());
- String beanName = getSource();
-
- try
- {
- return appContext.getBean(beanName);
- }
- catch (NoSuchBeanDefinitionException nexc)
- {
- ServiceException e = new ServiceException();
- String msg = "Spring service named '" + beanName + "' does not exist.";
- e.setMessage(msg);
- e.setRootCause(nexc);
- e.setDetails(msg);
- e.setCode("Server.Processing");
- throw e;
- }
- catch (BeansException bexc)
- {
- ServiceException e = new ServiceException();
- String msg = "Unable to create Spring service named '" + beanName + "' ";
- e.setMessage(msg);
- e.setRootCause(bexc);
- e.setDetails(msg);
- e.setCode("Server.Processing");
- throw e;
- }
- }
-
- }
-
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在FLEX与Spring的集成中,我们需要一个桥梁来连接Flex客户端和Spring服务端。这通常通过创建一个自定义的`FlexFactory`实现,例如`SpringFactory`,它继承自`flex.messaging.FlexFactory`。`SpringFactory`的职责是...
然后,为了使Flex与Spring进行通信,我们需要创建一个工厂类,例如`SpringFactory`,实现Flex的`FactoryInstance`和`FlexFactory`接口。这个工厂类用于为Flex消息框架提供实例。在`services-config.xml`中配置此工厂...
当我们需要在Flex前端和Spring后端之间建立通信时,就需要进行Flex与Spring的整合。这种整合使得Flex客户端能够调用Spring服务端的业务逻辑,实现数据的交互和处理。 **1. SpringFactory方式** SpringFactory方式...
为了使Flex能够访问到Spring容器中的Bean,需要自定义一个`SpringFactory`类,该类继承自`FlexFactory`。在该类中实现`createFactoryInstance`方法来创建具体的Bean实例。 ```java package com.flex.factories; ...
通过上述步骤,我们可以成功地将Flex、Spring和MyBatis三个框架进行整合,构建出一个高效且可扩展的应用程序。这种集成方式不仅能够充分利用每个框架的优势,还能提高整个系统的性能和稳定性。在未来的发展中,这种...
### Maven构建全栈式Flex、BlazeDS和Spring集成解决方案——第三部分:整合全部应用 #### 知识点概述 本篇文章将详细介绍如何利用Maven工具链构建一个完整的Flex、BlazeDS和Spring集成解决方案。文章分为三个部分...
7. **配置Flex与Spring的连接**:在Flex的services-config.xml和remoting-config.xml中设置SpringFactory,确保Flex可以通过AMF与Spring服务进行通信。 8. **处理Flex与Spring的兼容性问题**:解决可能遇到的类版本...
标题中的“Flex3 + Spring配置”指的是在Adobe Flex 3这个富互联网应用程序(RIA)开发框架中集成Spring框架进行后端服务支持的技术实践。Flex3是Adobe Flex的第三个主要版本,它提供了一套用于创建交互式、数据驱动...
标题 "flex3.0+spring2.5+hibernate3.2" 指的是一种集成技术,它将Adobe Flex 3.0(一种用于构建富互联网应用程序的框架)与Spring 2.5(一个Java企业级应用的IOC和AOP容器)和Hibernate 3.2(一个流行的关系型...
为了使BlazeDS能够识别和调用Spring管理的bean,需要在`flex/services-config.xml`中配置Spring工厂: ```xml <factory id="spring" class="flex.samples.factories.SpringFactory"/> ``` 并且在`remoting-...
4. **Service-Config配置**:编写`service-config.xml`文件,指定`id="spring"`和`class`属性为`SpringFactory`所在的类路径。 5. **Bean配置**:定义一个Java类并将其纳入Spring的管理范围,即在`...
4. **Spring**:SpringFactory类和反射机制,用于管理和实例化后端服务。 5. **业务层**:基于Spring框架,使用Hibernate处理数据库操作,实现业务逻辑。 6. **Flex Application, Module, Component**:Flex前端应用...
为了使Flex能够调用Spring中的bean,我们需要创建一个自定义的`SpringFactory`,它是Flex消息传递框架的一部分。`SpringFactory`实现了`FlexFactory`接口,负责实例化和查找Spring中的bean。下面是一个简化的`...
- **新建 Spring Bean**:在 Java 侧,我们需要创建 Spring Bean,如 Dao、Service 和 Action 类,以实现业务逻辑。 - **配置 Spring**:更新 Spring 配置文件,声明 Bean 并关联它们。可以创建一个 `...
- 如果你的项目中包含Spring和Hibernate,需要导入相关库,并在`services-config.xml`中注册Spring工厂,例如`<factory id="spring" class="cn.com.overstep.factories.SpringFactory"/>`。 - 更新`web.xml`文件,...
7. **整合过程**:集成Flex和SSH涉及到几个关键步骤,包括设置Flex Builder或MyEclipse的Blazeds配置,编写ActionScript代码与后端服务交互,配置Struts2的Action和Result,以及在Spring中定义Bean和数据源。...