remoting-config.xml: <destination id="TestSpring"> <properties> <factory>spring</factory> <source>springTest</source> <!--此处注入IOC注入--> </properties> </destination>
============================================================== services-config.xml: <factories> <factory id="spring" class="flex.samples.factories.SpringFactory" /> </factories> ============================================================== web.xml: 和struts整合spring一样 <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> ============================================================
applicationContext.xml
<bean id="springTest" class="flex.samples.SpringTest"> <property name="description"> <value>Hello Flex To Spring</value> </property> </bean>
|
SpringFactory.java文件
package flex.samples.factories; 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; } } } }
============================================= SpringTest.java
package flex.samples;
public class SpringTest {
private String description;
public String getDescription() { return "This description from String. [" + description + "]"; }
public void setDescription(String description) { this.description = description; } }
|
Flex.mxml:
<mx:RemoteObject id="myspring" destination="TestSpring" />
<mx:Button x="25" y="80" label="Call Spring" width="100" click="myspring.getDescription();" />
<mx:Label x="25" y="100" width="334" text="{myspring.getDescription.lastResult}"/>
//注意颜色对应关系
分享到:
相关推荐
描述中提到的“flex和spring集成分页”是指将Flex客户端与Spring框架结合,实现服务器端数据的分页展示。Spring是一个广泛使用的Java企业级应用开发框架,提供IoC(Inversion of Control)容器、数据访问、事务管理...
我们需要在项目中引入flex-spring-sdk,这是一个专门用于Flex和Spring集成的库,包含了必要的类和接口。 2. **创建Spring服务**:在Spring环境中定义你需要的服务bean,并配置其相关属性。这些服务bean将成为Flex...
flex与spring集成详解
Spring还包含了对数据库访问的支持,如JDBC抽象层和集成ORM框架,如Hibernate。此外,Spring的MVC框架可以方便地将前端视图、业务逻辑和数据访问层分离,有助于实现松耦合和模块化设计。 4. **整合过程**: - **...
Flex Blazeds Spring集成是将Adobe的Flex前端技术与Spring框架后端服务相结合的一种开发模式。这个DEMO展示了如何在Flex客户端应用中利用Spring框架来管理和服务通信,从而实现更高效、灵活的分布式应用程序。 Flex...
博文链接:https://xiaotian-ls.iteye.com/blog/229194
这些示例涵盖了从简单的数据绑定到复杂的业务流程,让读者逐步掌握Flex与Spring集成的技巧。 总的来说,《Pro Flex on Spring》是一本实用的指南,适合有一定Java和Flex基础的开发者,想要提升RIA开发能力的人群。...
Spring BlazeDS Integration则是Adobe和Spring社区合作的成果,它简化了Flex与Spring的集成,减少了配置的复杂性。 在Web应用的配置中,需要在`web.xml`中注册Spring的DispatcherServlet,它负责处理请求并转发给...
"FlexSpring" 文件夹可能包含了Spring服务端的源代码,包括Spring配置文件(如applicationContext.xml),定义了Bean的实例化、依赖注入以及服务接口和实现。此外,还有可能包含Java控制器类,它们是Spring MVC的一...
此外,随着云计算和微服务架构的兴起,Flex和Spring的集成也可能需要适应这些趋势。例如,如何将Spring应用容器化和在云环境中部署,以及如何将单体应用拆分为微服务。 总结来说,"Pro Flex On Spring"这本书为我们...
在本文中,我们将深入探讨Flex和Spring框架的基本概念,FlexSpring集成的优势,以及如何在项目中使用FlexSpring JAR包。 首先,Flex是一种用于构建富互联网应用程序(RIA)的开源开发框架,基于ActionScript和MXML...
在进行Flex与Spring集成的过程中,经常会遇到配置上的问题。例如,在配置文件`services-config.xml`中设置URI时,可能会遇到以下情况: **问题描述:** 在`services-config.xml`中设置URI为: ```xml ...
- **Flex与Spring集成**:Flex与Spring之间的通信通常通过HTTPService或WebService组件完成,这些组件可以调用Spring的远程服务接口(如基于HTTP的RESTful服务或基于SOAP的Web服务)。Spring-BlazeDS Integration...
在FLEX与Spring的集成中,我们需要一个桥梁来连接Flex客户端和Spring服务端。这通常通过创建一个自定义的`FlexFactory`实现,例如`SpringFactory`,它继承自`flex.messaging.FlexFactory`。`SpringFactory`的职责是...
3. **AMF集成**:AMF是一种二进制格式,用于在Flex和服务器之间传输数据,相比HTTPService的XML或JSON格式,它具有更高的性能和更低的带宽消耗。BlazeDS是Adobe提供的一个开源项目,它提供了AMF支持,使得Flex与...
当我们在Flex-Spring集成中使用拦截器时,我们需要配置Spring的`HandlerInterceptor`或`WebBindingInitializer`接口,这些拦截器会在请求被处理前或处理后执行特定的代码。例如,我们可以通过以下步骤设置拦截器: ...
在IT行业中,Flex和Spring是两个非常重要的技术框架。Flex是一种用于构建富互联网应用程序(RIA)的客户端技术,而Spring则是Java平台上的一个开源框架,主要用于企业级后端应用开发。将Flex与Spring进行整合,可以...
通过与Spring集成,可以在服务器端利用Spring的数据访问和事务管理能力,高效地处理分页查询。 在源码层面,集成Flex和Spring可能涉及到创建Spring服务bean、配置Remoting Destination以连接到这些服务,以及在Flex...
Spring框架还包含了对数据库操作的支持,如JDBC抽象层、ORM集成(如Hibernate和MyBatis),以及用于Web开发的Spring MVC,能够与Flex这样的前端技术无缝配合。 在"SSP"工程中,我们可以推测以下几个关键知识点: 1...