菜園子

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            7 Posts :: 1 Stories :: 31 Comments :: 0 Trackbacks

          升級Spring3.1RC2 和Hibernate4.0.0CR7遇到的一些問題及解決

          Spring3.1RC2支持

          1. Quartz2

          2. Hibernate4,

          3. New HandlerMethod-based Support Classes For Annotated Controller Processing

          4. Consumes and Produces @RequestMapping Conditions

          5. Working With URI Template Variables In Controller Methods

          6. Validation For @RequestBody Method Arguments  //and so on....

          7. Spring MVC 3.1 的annotation可以參看下http://starscream.iteye.com/blog/1098880 

          Hibernate 4可以查看http://community.jboss.org/wiki/HibernateCoreMigrationGuide40 

          下面主要說一下我在升級過程中遇到的一些問題及解決辦法。

          Maven的repository始終無法升級到SpringRC2,可能服務器有問題吧,目前暫時是從官方下載的整個SpringRC2的zip包。版本號是:3.1.0.RC2

          Hibernate可以從repository中升級到4.0.0.CR7,新增的依賴包有jandex-1.0.3.Final.jar,jboss-logging-3.1.0.CR2.jar,jboss-transaction-api_1.1_spec-1.0.0.Final.jar。

          Quartz升級到2.1.1,Ehcache-core升級到2.5.0

          Spring3.1取消了HibernateTemplate,因為Hibernate4的事務管理已經很好了,不用Spring再擴展了。所以以前的Dao需要改寫,直接調用Hibernate 的Session進行持久化。

          Spring的配置:

          sessionFactoryorg.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean換成org.springframework.orm.hibernate4.LocalSessionFactoryBean

          Spring的配置:

          <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>改為

          <prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</prop>

          EhCacheRegionFactory使用配置:

          <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>

          使用Hibernate所有的openSession()改為getCurrentSession()

          Spring 的配置:Hibernate transactionManager從3改為4,如下:

          <bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">

                  <property name="sessionFactory" ref="sessionFactory"/>

              </bean>

          Spring @ResponseBody輸出是亂碼的問題:原來使用的是:

          <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  

          改為:

          <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">  

          <property name = "messageConverters">

          <list>  

          <bean class = "org.springframework.http.converter.StringHttpMessageConverter">  

          <property name = "supportedMediaTypes">  

          <list>

          <value>text/plain;charset=UTF-8</value>

          </list>

          </property> 

          </bean>

          <bean class = "org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  

          <property name = "supportedMediaTypes">  

          <list>

          <value>text/plain;charset=UTF-8</value>

          <value>application/json;charset=UTF-8</value>

          </list>  

          </property> 

          </bean>

          </list>  

          </property>  

          這樣比每個Controller都加上@RequestMapping(value = "/showLeft", method = RequestMethod.GET)
           produces = "text/plain; charset=utf-8"方便的多。

          Blob,以前配置:

          @TypeDefs({@TypeDef(name="clob",typeClass=ClobStringType.class),@TypeDef(name="blob",typeClass=BlobByteArrayType.class)})

          @Lob

          @Type(type="blob")

          public byte[] getPic() {

          return pic;

          }

          現在改為:

              @Lob

          public byte[] getPic() {

          return pic;

          }

          簡單很多。

           

          l 待續。。。



          QQ:24889356
          posted on 2011-12-13 15:36 GhostZhang 閱讀(3358) 評論(2)  編輯  收藏

          Feedback

          # re: 升級Spring3.1RC2 和Hibernate4.0.0CR7遇到的一些問題及解決[未登錄] 2011-12-13 17:03 tbw
          收藏了  回復  更多評論
            

          # re: 升級Spring3.1RC2 和Hibernate4.0.0CR7遇到的一些問題及解決 2011-12-13 20:09 tbw淘寶商城
          升級Spring3.1RC2 和Hibernate4.0.0CR7遇到的一些問題及解決。問題解決了。

            回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 原阳县| 惠州市| 阳朔县| 盖州市| 和平县| 乌鲁木齐市| 蚌埠市| 永胜县| 集安市| 建德市| 年辖:市辖区| 绥阳县| 汝州市| 岐山县| 洪泽县| 南雄市| 南溪县| 怀远县| 孟村| 安岳县| 靖江市| 麻栗坡县| 台东市| 兰考县| 永靖县| 政和县| 黔江区| 中宁县| 富裕县| 项城市| 岚皋县| 濉溪县| 昌乐县| 惠来县| 隆回县| 叙永县| 中超| 庆安县| 扬州市| 怀仁县| 琼海市|