论坛首页 Java企业应用论坛

Spring+SpringMVC+OpenJPA整合使用心得

浏览 5710 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-04-04  

刚写了篇Spring3.1+ JpaDaoSupport被deprecated后的研究 ,其中我提到现在使用的时Spring+SpringMVC+OpenJPA(SSO我定义的嘿嘿),有人建议也说说这方面整合的经验。今天放假最后一天,休息体力的同时就花点时间把之前写的东西整理一下,也希望大家多提意见。

 

首先是Spring,这个貌似不需要太多的介绍,这方面的文章实在太多了。

 

============SpringMVC的分割线================

其次时SpringMVC,当初Struts升级到2.0之后,我记得好像时在2.1.8的时候有一次升级,导致我之前写的很多东西不能使用,所以非常郁闷,恰好当时正在认真研读Spring的书籍,于是在Spring还是2.5的时候依然抛弃了Struts奔向了Spring的怀抱。当时写了几篇Bolg,主要是整合过程中碰到的问题。

 

SpringMVC的配置我觉得没有太多可讲,因为太简单了!现在ITEYE上面这方面的文章也多了很多,这里也就不再重复。这里简单罗列使用过程中碰到的一些问题:

SpringMVC freemarker标签Struts2化   这篇Blog主要是当时从Struts转向SpringMVC之后,之前写的很多Freemarker的标签不能使用,所以按照之前的样式,做了简单的转换。而后,在与OpenJPA整合过程中,例行碰到了延迟加载的问题,SpringMVC + OpenJPA 延迟加载的解决 这里给出来注解解决的方法。为了实现持久化对象的转换绑定,顺便研究了一下BeanUtils.copyProperties应用的改进 现在这个方法我一直在使用,暂时没有碰到太大的问题。由于工作的需要,现在的那些FTP服务器都很难满足需要,为了解决这个问题索性花了点时间把ApacheFTPServer给整合进来,有兴趣的朋友可以去看看Apache FTPServer 集成到Spring WEB项目中 ,这个整合也非常成功,ApacheFTPServer在单位已经稳定运行了一年多,非常有效。当然使用过程中也碰到了几个奇怪的问题,SpringMVC+OpenJPA奇怪的错误 ,大家以后要吸取教训啊。最后,在我之前的Struts2+Spring2.5+Hibernate3(JPA)+ExtJS3基本后台 基础之上,使用SSO实现了一个新的框架基于Ext-GWT(GXT)+OpenJPA+SpingMVC的综合WEB平台研究开发, 大家有兴趣也去捧捧场,按照惯例这个项目在完善之前也不会公开源码,大家多多包涵。

 

=============OpenJPA的分割线===============

当然,我们也不能只将经验而没有教程,于是当初也写了篇Spring3(MVC)+OpenJPA2构建及发布 当时包的管理还没有使用Maven,所以比较乱,但是基本的流程是有了。当时花了很多时间写完这个Blog,可惜响应的人不多,可能用SSO框架的认比较少,最后的大家居然一直认为我的Eclipse界面“出奇”的好看,一旁吐血十公斤啊。。。。当然也研究了一下OpenJPA的缓存和与Hibernate的性能比较,OpenJPA2 缓存的问题OpenJPA与Hibernate实现JPA的性能测试 当时主要是看了ITEYE中有篇文章非常贬低OpenJPA的性能,从而简单的做了一些测试,发现其性能还是未达到那篇文中所说的“发指”的地步。

 

 

============GWT和GXT的分割线===============

SSO的框架整到这个上面是有原因的,我当初转向SSO框架后并没有做太多其他的普通WEB项目,而是转到了GWT和GXT上面,GWT是一个神奇的东西,抛弃性能等不说,确实非常大的优化了开发时间(没错,是优化而不仅仅时加快)。GXT是GWT的ExtJS实现,因为准备做的也是商业项目,所以对可恶的授权问题也只能视而不见。GXT上也有一些记录,大家感兴趣就去扒扒我的Blog的吧。

 

最后总结,Spring+SpringMVC+OpenJPA+GXT(GWT) = SSOG 恩,又创建了一个新的名词,放假玩得太累了,有空再花点时间总结一下其他的心得。

   发表时间:2012-04-04  
OpenJPA这东西以前试用过一次不过因为当时它对oracle数据库的支持上有些问题就放弃了,不知道现在支持的怎么样了。
0 请登录后投票
   发表时间:2012-04-04  
magichorse 写道
OpenJPA这东西以前试用过一次不过因为当时它对oracle数据库的支持上有些问题就放弃了,不知道现在支持的怎么样了。

之前1.0版本的时候问题较多,2.0之后都非常好了。
0 请登录后投票
   发表时间:2012-04-06  
OpenJPA需要在编译时字节码增强,如果你使用组合"SSO"的话,我推荐你不妨加上Spring Data Jpa
0 请登录后投票
   发表时间:2012-04-06  
OpenJPA我以前用的时候发现有个问题就是 返回的对象没有ID值,以致我后来换成hibernate JPA ,不知道是我对OpenJPA工具文档本身不熟悉还是它的特性如此,希望楼主可以解答,我会关注此贴
0 请登录后投票
   发表时间:2012-04-06  
liheping17 写道
OpenJPA我以前用的时候发现有个问题就是 返回的对象没有ID值,以致我后来换成hibernate JPA ,不知道是我对OpenJPA工具文档本身不熟悉还是它的特性如此,希望楼主可以解答,我会关注此贴

请问当时用的是什么版本,在1.X的时候有很多的BUG,但是2.X之后暂时我还没有发现问题。
0 请登录后投票
   发表时间:2012-04-06  
liheping17 写道
OpenJPA需要在编译时字节码增强,如果你使用组合"SSO"的话,我推荐你不妨加上Spring Data Jpa

最不爽的就是必须编译才能生效,官网还一直宣传比Hibernate的实现高效,但是开发效率太低了
0 请登录后投票
   发表时间:2012-04-06  
vvvpig 写道
liheping17 写道
OpenJPA需要在编译时字节码增强,如果你使用组合"SSO"的话,我推荐你不妨加上Spring Data Jpa

最不爽的就是必须编译才能生效,官网还一直宣传比Hibernate的实现高效,但是开发效率太低了


还好,有三种解决方法,参见跟我学OpenJPA之三(更快、更高、更强)

 

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics