当前位置:首页 > 轻松打造J2EE的 SSH 与flash builder整合
3.开始将flash builder整合到SSH中
a.下载blazeDS包 将WEB-INF 文件夹下的所有文件夹和文件 拷贝到/WebRoot/WEB-INF/目录下 注意:包括web.xml 全覆盖 b.打开Web.xml 进行配置spring
org.springframework.web.context.ContextLoaderListener
(此处app.xml为spring配置文件名 默认为applicationContext.xml) 到此为止..SSH配置完毕..部署运行一下..看是否有错误.. 如有错误 自己 改正. 在确保SSH集成后无错 方可 继续.!! 以下步骤很重要
b.新建包com.sshf.study.flash
在该包下新建二个类 SpringFactoryInstance.java FlexFactoryImpl.java SpringFactoryInstance.java代码
package com.sshf.study.flash;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.springframework.beans.BeansException; import
org.springframework.beans.factory.NoSuchBeanDefinitionException; 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;
public class SpringFactoryInstance extends FactoryInstance { private Log log = LogFactory.getLog(getClass());
SpringFactoryInstance(FlexFactory factory, String id, ConfigMap properties) {
super(factory, id, properties); }
public Object lookup() {
System.out.println(\工厂类的方法lookup\ ApplicationContext appContext =
WebApplicationContextUtils.getRequiredWebApplicationContext(FlexContext.getServletConfig().getServletContext()); String beanName = getSource(); try {
log.info(\bean from Spring ApplicationContext: \+ beanName);
return appContext.getBean(beanName);
} catch (NoSuchBeanDefinitionException nex) { ServiceException e = new ServiceException();
String msg = \service named '\+ beanName + \does not exist.\
e.setMessage(msg); e.setRootCause(nex); e.setDetails(msg);
e.setCode(\ throw e;
} catch (BeansException bex) {
ServiceException e = new ServiceException();
String msg = \
beanName + \
e.setMessage(msg); e.setRootCause(bex); e.setDetails(msg);
e.setCode(\ throw e;
} catch (Exception ex) {
ServiceException e = new ServiceException();
String msg = \Spring service named '\ e.setMessage(msg); e.setRootCause(ex); e.setDetails(msg);
e.setCode(\ throw e; } } }
FlexFactoryImpl.java代码
package com.sshf.study.flash;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import flex.messaging.FactoryInstance; import flex.messaging.FlexFactory;
import flex.messaging.config.ConfigMap;
public class FlexFactoryImpl implements FlexFactory { private Log log = LogFactory.getLog(getClass()); /*override interface method*/
public void initialize(String id, ConfigMap configMap) { System.out.println(\工厂实现类重写的方法initialize\ }
/*override interface method*/ public FactoryInstance createFactoryInstance(String id, ConfigMap properties) {
System.out.println(\工厂实现类重写的方法
createFactoryInstance\
log.info(\ SpringFactoryInstance instance = new SpringFactoryInstance(this, id, properties);
instance.setSource(properties.getPropertyAsString(SOURCE, instance.getId()));
return instance; }
/*override interface method*/
public Object lookup(FactoryInstance instanceInfo) {
System.out.println(\工厂实现类重写的方法lookup\ log.info(\ return instanceInfo.lookup(); } }
打开/WEB-INF/flex/services-config.xml 配置文件 加入FlexFactory实现类
打开/WEB-INF/flex/remoting-config.xml 配置文件
然后将 services中的factory的实现类所调用的类配置关联
共分享92篇相关文档