- 浏览: 6646 次
最新评论
Flex+BlazeDS+Spring+Hibernate架构整合示例
- 博客分类:
- 技术杂绘
如下图所示建立工程:
所需lib包一览:
代码如下:
StsHibernateTemplate.java package com.stswg.dao.base; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autow ired; import org.springframework.orm.hibernate3.HibernateTempla te; public class StsHibernateTemplate extends HibernateTemplate { @Autowired @Override public void setSessionFactory(SessionFactory sessionFactory){ super.setSessionFactory(sessionFactory); } } CustomerDaoImpl.java package com.stswg.dao.impl; import java.util.List; import org.apache.commons.lang.StringUtils; import org.hibernate.Criteria; import org.hibernate.criterion.Restrictions; import com.stswg.dao.CustomerDao; import com.stswg.dao.base.StsHibernateTemplate; import com.stswg.entity.Customer; public class CustomerDaoImpl extends StsHibernateTemplate implements CustomerDao { private String[] data = { "电子", "仁宝电脑", "富士通软件", "太极实业", "万科地产", "中铁2局", "海南航空", "德赛电池", "东湖高新", "哈药集团", "太平洋保险", "平安保险", "太极集团", "中粮地产", "世贸股份", "中国中铁", "金山软件", "中国银行", "建设银行", "华阳软件" }; @Override public int insertCustomer() { int index = new Double(Math.floor(Math.random() * data.length)).intValue(); Customer customer = new Customer(); customer.setName(data[index]); customer.setAddress(data[index] + "公司所在地址"); customer.setTelephone("021-67376464"); save(customer); return 1; } @Override public int selectCustomerCount() { Criteria criteria = getSession().createCriteria(Customer.class); return criteria.list().size(); } @SuppressWarnings("unchecked") @Override public List selectCustomer(String name) { Criteria criteria = getSession().createCriteria(Customer.class); if(StringUtils.isNotEmpty(name)) { criteria.add(Restrictions.like("name", "%" + name + "%")); } return criteria.list(); } @Override public int deleteCustomer() { deleteAll(selectCustomer(null)); return 1; } } CustomerDao.java package com.stswg.dao; import java.util.List; import com.stswg.entity.Customer; public interface CustomerDao { public int deleteCustomer(); public int insertCustomer(); public int selectCustomerCount(); public List selectCustomer(String name); } BaseEntity.java package com.stswg.entity.base; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.MappedSuperclass; @MappedSuperclass public class BaseEntity { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; public void setId(Integer id) { this.id = id; } public Integer getId() { return id; } public boolean isNew() { return (this.id == null); } } Customer.java package com.stswg.entity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import com.stswg.entity.base.BaseEntity; @Entity @Table(name="t_customer") public class Customer extends BaseEntity { @Column(name="name") private String name; @Column(name="address") private String address; @Column(name="telephone") private String telephone; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone; } } NoCacheFilter.java package com.stswg.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletResponse; public class NoCacheFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { try { HttpServletResponse res = (HttpServletResponse) response; res.addHeader("Cache-Control", "no-store"); res.addHeader("Pragma", "no-store"); chain.doFilter(request, response); } catch(Exception e) { } } @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void destroy() { } } CustomerServiceImpl.java package com.stswg.service.impl; import java.util.List; import org.springframework.beans.factory.annotation.Autow ired; import org.springframework.flex.remoting.RemotingDestinat ion; import org.springframework.transaction.annotation.Propaga tion; import org.springframework.transaction.annotation.Transac tional; import com.stswg.dao.CustomerDao; import com.stswg.entity.Customer; import com.stswg.service.CustomerService; @RemotingDestination public class CustomerServiceImpl implements CustomerService { @Autowired private CustomerDao customerDao; @Transactional(propagation=Propagation.REQUIRED) public int insertCustomer() { return customerDao.insertCustomer(); } @Transactional(readOnly=true) public int selectCustomerCount() { return customerDao.selectCustomerCount(); } @Transactional(readOnly=true) public List selectCustomer(String name) { return customerDao.selectCustomer(name); } @Transactional(propagation=Propagation.REQUIRED) public int deleteCustomer() { return customerDao.deleteCustomer(); } } CustomerService.java package com.stswg.service; import java.util.List; import com.stswg.entity.Customer; public interface CustomerService { public int deleteCustomer(); public int insertCustomer(); public int selectCustomerCount(); public List selectCustomer(String name); } jdbc.properties #DataSource(C3P0) jdbc.driverClassName=org.hsqldb.jdbcDriver jdbc.url=jdbc:hsqldb:mem:. jdbc.username=sa jdbc.password= jdbc.initialPoolSize=10 jdbc.minPoolSize=5 jdbc.maxPoolSize=30 jdbc.acquireIncrement=5 jdbc.maxIdleTime=10 jdbc.maxStatements=0 #Hibernate hibernate.dialect=org.hibernate.dialect.HSQLDialec t hibernate.show_sql=false hibernate.jdbc.batch_size=20 hibernate.generate_statistics=true hibernate.cache.provider_class=org.hibernate.cache .EhCacheProvider hibernate.cache.use_query_cache=true hibernate.cache.use_second_level_cache=true hibernate.cache.use_structured_entries=true hibernate.hbm2ddl.auto=create-drop log4j.properties #Log4j #Configuring loggers log4j.rootLogger=error, console, file #Configuring Appenders log4j.appender.console=org.apache.log4j.ConsoleApp ender log4j.appender.file=org.apache.log4j.RollingFileAp pender log4j.appender.file.File=C://logs.log #Configuring layouts log4j.appender.console.layout=org.apache.log4j.Sim pleLayout log4j.appender.file.layout=org.apache.log4j.Patter nLayout log4j.appender.file.layout.ConversionPattern=%d{yy yy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n remoting-config.xml services-config.xml false [BlazeDS] false false false false Endpoint.* Service.* Configuration false applicationContext.xml flex="http://www.springframework.org/schema/ flex" xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-a op-2.5.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring -beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spri ng-context-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx -2.5.xsd http://www.springframework.org/schema/flex http://www.springframework.org/schema/flex/spring- flex-1.0.xsd"> com.stswg.entity.Customer ${hibernate.dialect} ${hibernate.show_sql} ${hibernate.jdbc.batch_size} ${hibernate.generate_statistics} ${hibernate.cache.provider_class} ${hibernate.cache.use_query_cache} ${hibernate.cache.use_second_level_cache} ${hibernate.cache.use_structured_entries} ${hibernate.hbm2ddl.auto} flex:message-broker services-config-path="/WEB-INF/flex/services-confi g.xml" /> flex:remoting-destination ref="customerService" /> --> web.xml Spring-Flex-BlazeDS DEMO noCacheFilter com.stswg.filter.NoCacheFilter noCacheFilter /* flex.messaging.HttpFlexSession Spring MVC Dispatcher Servlet org.springframework.web.servlet.Dispa tcherServlet contextConfigLocation /WEB-INF/applicationContext.xml 1 Spring MVC Dispatcher Servlet /spring/* FlexDemo.html 接下来是创建Flex端工程,如下图所示:
代码如下:
style.css /* CSS file */ Application { fontSize: 14; } FlexDemo.mxml height="100%" horizontalAlign="center"> Flex版演示程序" /> height="400" id="dataGrid" doubleClickEnabled="true" horizontalScrollPolicy="auto" headerWordWrap="true" wordWrap="true" sortExpertMode="true"> 设置Flex工程参数如下: 1.Compile参数设置
2.Deploy位置:
启动Demo工程的Tomcat即可访问。
发表评论
-
关于多功能日志记录组件的实现
2012-07-03 13:43 795最近在思考通用组件库的设计。 考虑到项目中一些功能的重 ... -
在Flex组件上显示手型的鼠标
2012-07-02 12:17 832在Flex组件上显示手型的鼠标 有些时候,我们需 ... -
flex3:drag-drop全攻略(二)
2012-07-02 12:17 417这里写四个实例:1,List->List 2, ... -
flex笔记--安装与项目建立
2012-07-02 12:17 398使用java做后台,采用Eclipse插件式安装 操 ... -
关于Flex 的渲染器的总结
2012-07-02 12:16 505关键字: Flex. 渲染 ... -
Flex4+spring3.04+spring-flex1.03+blazeds4.0的maven配置说明
2012-07-01 09:50 914super pom.xml 4.0.0 com.catt ... -
关于Flex 的渲染器的总结
2012-07-01 09:50 515关键字: Flex. 渲染器. 内联. 外联. 用过 ... -
Flex4 使用RemoteObject BlazeDS 连接JAVA对象获取数据
2012-07-01 09:50 773使用FLEX4 和 JAVA进行通讯 并和JAVA内置的对 ... -
PHP作为Flex程序的数据源
2012-07-01 09:50 508Adobe Flash Builder 4 简体中文正式版 ... -
Flex 数据易犯错误: 常见误用和错误
2012-07-01 09:50 266在某些情形下,绑定操作似乎不能正常工作,此时你可能非常懊恼 ...
相关推荐
Flex PureMVC Flex BlazeDS Spring Hibernate 整合 里面一些图标是包双击可查看源代码
一步一步讲解了PureMVC+Flex+BlazeDS+Spring+Hibernate的搭建,适合初学者参照
跟我一步步搭建 PureMVC+Flex+BlazeDS+Spring+Hibernate
跟我一步步搭建PureMVC+Flex+BlazeDS+Spring+Hibernate
一步步搭建+PureMVC+Flex+BlazeDS+Spring+Hibernate
使用flex 4.5 + Spring 3.0 + Hibernate 3.3 + Cairngorm 2.2.1 + BlazeDS 3.3.0 + Spring BlazeDS Integration 1.0.3整合出的一个登录的小demo·
MyEclipse7.5+flex4+spring3.0.5+struts2.2.1+hibernate3.6.0+blazeds4.0.0.14931完美整合方案 内附所需jar包和源代码
Flex+Gilead+BlazeDS+Spring+Hibernate示例Demo,使用1:n和m:n两个双向关系,很好的演示了Gilead的Hibernate Lazy Killer特性,借助Gilead可以有效规避DTO模式的大量繁琐代码。效果图展示地址:...
Flex4+Blazeds4.0+Spring3.0+hibernate2.5.2整合笔记,自己看了不少网上所说,都没配置成功,后来通过spring的一个插件搞定了,希望对大家有帮助吧!
此案例用到的框架是Flex+BlazeDS+Spring+Hibernate完成了三个案例的整合,用到的数据库脚本已经在项目中。只需要加压,在软件中导入,执行数据库脚本,项目就可以运行。
flex+java+spring+hibernate+blazeds整合
Flex4+BlazeDS+Spring+Hibernate 整合源码博文源码
Myeclipse6.5+flex3+Blazeds+spring+hibernate完美整合,写的非常详细
flex 结合spring,完成前后台数据传递。
Flex + blazeds + Java推送Demo 本例实现由Flex一端客户端发送消息, 然后由Java端在发布到所有订阅的其它Flex端. 里面有说明与源码, 还有一个直接放到Tomcat里面的直接发布的项目 小编使用工具 eclipse3.5 flex sdk...
Myeclipse6.5+flex3+Blazeds+spring+hibernate完美整合源代码,已经调试成功,可以运行。配有相应的word文档
自己写的一个Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring)part1.pdf
Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part4.pdf 终结版
Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) part3.pdf 第三部分。。add spring and hibernate
MyEclipse7.5+flex4+spring+struts+hibernate+blazeds整合